Terminal üzerinden yapılan tüm işlerin kayıtlarını nasıl tutarım? Örneğin, veritabanında terminal üzerinden yapılan tüm çalışmaların bir kaydını istiyorum.
Terminal üzerinden yapılan tüm işlerin kayıtlarını nasıl tutarım? Örneğin, veritabanında terminal üzerinden yapılan tüm çalışmaların bir kaydını istiyorum.
Yanıtlar:
Bir günlük dosyasını kaydetmeye hazır olduğunuzda, şunu yazın:
script screen.log
Şimdi, senaryoyu durdurana kadar Terminal'deki tüm giriş ve çıkışlar screen.log dosyasında saklanır. İşiniz bittiğinde, sadece şunu yazın:
exit
Screen.log dosyanız yerel dizinde depolanacaktır. Yeniden yönlendirmek istiyorsanız, gibi mutlak bir yol adı kullanın ~/screen.log
. Bu tam olarak aradığınızı yapacak.
man script
) bile vi
(editör) bahseder ...
Asciinema'yı denemek isteyebilirsiniz . Sadece bir kayıt yapmanın yanı sıra, onu paylaşma ve oynatıcıyı blogunuza, makalenize veya bir konferans görüşmesine gömme olanağına sahip olursunuz.
Linux dağıtımına göre değişiklik gösterebilecek her kabuk komutunu günlüğe kaydetmek için syslog kullanmak için daha iyi bir yolum var ancak yöntem aynı kalacak
Bazı adımları izlemeniz gerekir:
Adım # 1 (Syslog servisi oluştur)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
Adım # 2 (bashrc açın ve aşağıdaki komutu girin)
# 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 (Syslog Hizmetini Yeniden Başlatın)
# /etc/init.d/rsyslog
İşte bir günlük örneği:
Dec 7 22:13:00 validationdb2 mahasan: root @ export [13291]: kuyruk-f /var/log/mysql/mysql.log [0] 7 Aralık 22:13:09 validationdb2 mahasan: root @ export [13291]: ls -lh [0] Dec 7 22:13:27 validationdb2 mahasan: root @ export [13291]: dokunma testi komutu [0]