Script

scriptscriptreplay兩個命令在 Linux 發行版中都有默認安裝。shell

 

錄播屏幕操做:

# script -t 2>  time.file -a scriptfile
time.file是時序記錄文件,記錄了幾秒執行的命令;
scriptfile是命令執行記錄文件,記錄下執行是哪些命令,這兩個文件名稱均可以自定義。

 

# script -q -t 2> time.file -a scriptfile
-q, - -quiet 參數能夠使script命令以靜默模式運行,不顯示script啓動和exit的命令,用戶能夠徹底察覺不到在錄屏。
按下按下組合鍵 Ctrl+D 結束錄製,執行exit命令也行。

 

# scriptreplay -d 10 time.file scriptfile
添加這個參數-d, –divisor number 能夠調整播放速度的倍數(能夠是小數:放慢)。
scriptfile文件記錄了我每間隔1秒執行一個date命令的操做,如今加速10倍來播放看看效果(惋惜有的版本scriptreplay命令沒有-d這個參數)。

 

同步演示:

使用端:
# script -f demo
-f, - -flush 每次操做後都當即刷新緩存。若是不設置這個選項,則不會實時寫入文件,這個功能

 

演示端:
# scriptreplay -f demo

 

錄製腳本執行過程:

# script -qa "file.out" -c "/root/hello.sh" 
# cat file.out 
-c, - -command 能夠直接執行命令,而非是交互式的shell,能夠直接傳入一個腳本

 

自動觸發監控用戶登錄的操做與實時監控:

# mkdir -p /var/log/user_record
# vi /etc/profile

# 在/etc/prifile文件追加登錄時自動記錄
script -t -f -q 2>/var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.his
if [ "$SHLVL" = 1 ]; then
   exit
fi

 

if [ $UID -ge 0 ]; then
        exec /usr/bin/script -t 2>/var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.log
fi
相關文章
相關標籤/搜索