Làm cách nào để giữ nhật ký của tất cả các công việc được thực hiện qua thiết bị đầu cuối? Ví dụ, tôi muốn một bản ghi tất cả các công việc được thực hiện trên cơ sở dữ liệu thông qua thiết bị đầu cuối.
Làm cách nào để giữ nhật ký của tất cả các công việc được thực hiện qua thiết bị đầu cuối? Ví dụ, tôi muốn một bản ghi tất cả các công việc được thực hiện trên cơ sở dữ liệu thông qua thiết bị đầu cuối.
Câu trả lời:
Khi bạn đã sẵn sàng bắt đầu ghi tệp nhật ký, hãy nhập:
script screen.log
Bây giờ, cho đến khi bạn dừng tập lệnh, tất cả đầu vào và đầu ra trong Terminal sẽ được lưu trữ trong screen.log. Khi bạn đã hoàn tất, chỉ cần gõ:
exit
Tập tin screen.log của bạn sẽ được lưu trong thư mục cục bộ. Nếu bạn muốn chuyển hướng nó, hãy sử dụng một tên đường dẫn tuyệt đối như ~/screen.log
. Điều này sẽ làm chính xác những gì bạn đang tìm kiếm.
Nguồn: Hướng dẫn Ubuntu - Cách đăng nhập các lệnh thiết bị đầu cuối
man script
) thậm chí có đề cập vi
(biên tập viên) ...
Tôi có một cách tốt hơn để sử dụng syslog để ghi nhật ký mọi lệnh shell, điều này có thể thay đổi tùy theo phân phối linux nhưng phương thức sẽ giữ nguyên
Bạn cần làm theo một số bước:
Bước # 1 (Tạo dịch vụ Syslog)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
Bước # 2 (Mở bashrc và nhập lệnh bên dưới)
# vim /root/.bashrc
# Enable CLI Logging by Mansur 08-12-2016
whoami="$(whoami)@$(echo $SSH_CONNECTION | awk '{print $1}')"export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$whoami [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
Ste # 3 (Khởi động lại dịch vụ nhật ký hệ thống)
# /etc/init.d/rsyslog
Đây là một mẫu nhật ký:
Ngày 7 tháng 12, 13:00:00 Ngày 7 tháng 12 22:13:09 validationdb2 mahasan: root @ export [13291]: ls -lh [0] Ngày 7 tháng 12 22:13:27 validationdb2 mahasan: root @ export [13291]: lệnh kiểm tra chạm [0]