Linux 下命令錄制工具

前言: 經(jīng)常操作服務(wù)器的運(yùn)維工程師經(jīng)常有這樣的一個(gè)顧慮,如果我或者其他同事操作服務(wù)器,這樣造成問(wèn)題后我該怎么查看到底哪一步錯(cuò)誤了,沒(méi)有記錄,查找造成問(wèn)題的原因就相當(dāng)困難,今天介紹兩個(gè)神一樣的命令來(lái)幫助你解決這樣的問(wèn)題,這兩個(gè)命令分別是: script 和 scriptreplay

  • 命令介紹
    script :使用來(lái)記錄你的操作命令,并且可以進(jìn)行同時(shí)記錄到的緩存存放到一個(gè)文件進(jìn)行實(shí)時(shí)保存
    scriptreplay : 是進(jìn)行播放的命令,使用這個(gè)命令加載之前使用script命令記錄存放的文件便可以進(jìn)行播放,完整地回放當(dāng)時(shí)的操作,畫(huà)面高清無(wú)碼的小電影,哈哈哈,有沒(méi)有很激動(dòng)

    首先來(lái)看一下script這個(gè)命令的使用幫助說(shuō)明:

[root@gz--vm-workstation-0001 ~]# script --help
image.png
幾個(gè)常用的參數(shù)講一下:
-a 是進(jìn)行進(jìn)行追加方式添加到文件之中,也就是說(shuō)如果已經(jīng)存在這個(gè)文件就不會(huì)清空覆蓋掉之前的數(shù)據(jù)
-f 進(jìn)行強(qiáng)制刷新緩存,也就是說(shuō)每輸入一個(gè)命令就會(huì)將緩存里的數(shù)據(jù)進(jìn)行存儲(chǔ)到文件
-q 是安靜模式,不會(huì)打印出任何提示語(yǔ)句表明在錄制你的命令,這個(gè)參數(shù)很好的在后臺(tái)進(jìn)行默認(rèn)記錄
-t 是將時(shí)間數(shù)據(jù)輸出到標(biāo)準(zhǔn)錯(cuò)誤文件,使用scriptreplay播放時(shí)候也會(huì)使用這個(gè)文件進(jìn)行時(shí)間

再看一下scriptreplay的使用幫助說(shuō)明:

[root@gz--vm-workstation-0001 ~]# scriptreplay --help
image.png
常用的參數(shù)說(shuō)明:
-t 是對(duì)應(yīng)的存儲(chǔ)的時(shí)間文件,也就是下面將提到的RecordCommand.time
-s 對(duì)應(yīng)的是緩存的session記錄文件,也就是下面提到的RecordCommand.session

  • 命令例子說(shuō)明
    • script
      我們要記錄操作的終端進(jìn)行操作,在shell命令行輸入
      [root@gz--vm-workstation-0001 ~]# script -t 2>/tmp/RecordCommand.time -af /tmp/RecordCommand.session
image.png

沒(méi)添加 -q 參數(shù),就把 script started,file ****這句話打印出來(lái),如果添加 -q 參數(shù)就沒(méi)有提示這句話,建議在生產(chǎn)環(huán)境添加 -q 進(jìn)行屏蔽打印出這類信息

image.png

這樣加-q參數(shù)就屏蔽了啟動(dòng)提示語(yǔ)了

  • scriptreplay
    下面我們就可以使用scriptreplay來(lái)進(jìn)行播放我們的小電影了
[root@gz--vm-workstation-0001 ~]#scriptreplay -t 
 /tmp/RecordCommand.time -s /tmp/RecordCommand.session

  • 或者可以做成一個(gè)shell腳本,不用一個(gè)一個(gè)命令這樣敲,直接運(yùn)行進(jìn)行記錄或者直接播放,寫(xiě)這個(gè)腳本就幾句代碼,相信你們可以的

  • 下面還說(shuō)一個(gè)script在實(shí)際中使用,它結(jié)合mkifo可以進(jìn)行實(shí)時(shí)播放直播,就是你在敲命令的時(shí)候別人可以通過(guò)另一個(gè)窗口看到,在教學(xué)或者監(jiān)督部門(mén)同事在操作重要步驟時(shí)候有很好的作用

    先說(shuō)明一下mkfifo命令
    mkfifo 使用指定的文件名創(chuàng)建FIFO(也稱為"命名管道").

    "FIFO"是一種特殊的文件類型,它允許獨(dú)立的進(jìn)程通訊. 一個(gè)進(jìn)程打開(kāi)FIFO文件進(jìn)行寫(xiě)操作,而另一個(gè)進(jìn)程對(duì)之進(jìn)行讀操作, 然后數(shù)據(jù)便可以如同在shell或者其它地方常見(jiàn)的的匿名管道一樣流線執(zhí)行.

    當(dāng)你想進(jìn)行廣播讓別人看到你操作時(shí)候,就可以在linux下面/tmp目錄(目錄自己定義,個(gè)人建議而已)使用mkfifo 創(chuàng)建一個(gè)文件,并且使用script命令啟動(dòng)

mkfifo /tmp/TestMkfifo.log;script -f /tmp/TestMkfifo.log

這樣就啟動(dòng)完成了,其他人在其他窗口或者終端進(jìn)行登陸這臺(tái)服務(wù)器,并且切換到/tmp目錄下,執(zhí)行命令 cat /tmp/TestMkfifo.log ,這樣在他所在的窗口就可以看到你操作的任何操作并且實(shí)時(shí)在他的窗口進(jìn)行顯示


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,353評(píng)論 2 33
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語(yǔ)言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲(chóng)de夢(mèng)閱讀 100,830評(píng)論 9 468
  • (一)基本命令 命令格式: 命令 參數(shù) 1.ls 顯示文件名,等同于dos下dir命令 命令格式:ls [opti...
    飛羽孟德閱讀 2,083評(píng)論 0 3
  • 如果你每天登陸各大產(chǎn)品運(yùn)營(yíng)網(wǎng)站,基本上關(guān)于運(yùn)營(yíng)學(xué)習(xí)的文章“照單全收”,看完以后還覺(jué)得收獲頗豐,有種如沐春風(fēng)的感覺(jué),...
    APP干貨鋪?zhàn)?/span>閱讀 363評(píng)論 0 1

友情鏈接更多精彩內(nèi)容