linux下神奇的script命令

  script 是一個神奇命令,script 可以將終端的會話過程錄製下來,而後使用 scriptreplay 就能夠將其錄製的結果播放給他人觀看。script 的好處就在於你在終端中的全部操做、敲過的命令和打印出的結果它均可以原本來本地進行錄製。能夠應用於教學、演示、審計。
通常來講,script 和 scriptreplay 在 Linux 發行版中都有默認安裝。
script -t 2>demo.time -a demo.his            開始錄像,ctrl+d或者exit結束
scriptreplay demo.time demo.his            回放
兩個配置文件被當作script命令的參數。這兩個文件能夠隨便命名,這裏用demo.time和demo.his。其中demo.time用於存儲時序信息,描述每個指令在什麼時候運行;demo.his用於存儲命令信息輸出。-t選項用於將時序數據導入stderr。2>用於stderr重定向到demo.time。
 
參數:
-t     指明輸出錄製的時間數據
-f         若是須要在輸出到日誌文件的同時,也能夠查看日誌文件的內容,可使用 -f 參數。PS:能夠用於教學,兩個命令行接-f能夠實時演示
-a         輸出錄製的文件,在現有內容上追加新的內容
-q         可使script命令以靜默模式運行
 
利用script記錄某人行爲
vi ~/.profile
script -t -f -q 2>$USER.time -a $USER.his
 
應用:
一、演示教學
第一個命令框
script -f demo
其餘命令框
scriptreplay -f demo
能夠實現實時同步演示
二、服務器安全審計
直接操做線上的服務器有很大隱患,因此通常都是經過登陸跳板機,而後鏈接線上服務器,跳板機能夠訪問控制和安全審計,查看記錄每一個人對線上服務器的操做
用戶家目錄下,修改環境變量,使得用戶登陸就會觸發錄像
vi ~/.profile
script -t -f -q 2>/wow/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /wow/$USER-$UID-`date +%Y%m%d%H%M%S`.his
這樣搞完後,發現有一個問題是每次退出,我習慣Ctrl+D,而後按第一遍中止錄像,第二遍才能用戶退出,如何解決在後面添加
if [ "$SHLVL" = 1 ]; then
            exit
fi
這樣就能夠一遍Ctrl+D中止錄像和退出用戶。
播放
必須得時許信息在前,命令信息在後。
相關文章
相關標籤/搜索