成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 終端回放神器:如何優雅的使用 Asciinema

系統 Linux
asciinema 是一款開源免費的終端錄制工具,它可以將命令行輸入輸出的任何內容加上時間保存在文件中,同時還提供方法在終端或者web瀏覽器中進行回放。

 如何實現類似于Jumpserver koko一樣的終端錄制回放功能呢?本文介紹一個神器。

[[282420]]

asciinema 是一款開源免費的終端錄制工具,它可以將命令行輸入輸出的任何內容加上時間保存在文件中,同時還提供方法在終端或者web瀏覽器中進行回放。

asciinema的錄制和播放都是基于文本的,相比傳統的video有很多好處,例如錄制文件體積小,在播放的過程中可以暫停復制其中的文本內容等等。同時 asciinema 還提供了一個網站,你如果愿意還可以將錄制的內容上傳至 asciinema.org 進行展示,也可以在這里找到很多有趣的終端錄像。asciinema 由以下三個子項目構成:

  1. asciinema:基于命令行的終端會話記錄器
  2. asciinema.org:提供API供上傳錄像和展示的網站
  3. javascript player:用于在web上播放錄像的js播放器

asciinema 的安裝和使用都非常簡單,一起來看看吧

安裝

asciinema 為 python 開發,可以直接通過apt-get、yum或者pip進行安裝

  1. # apt-get install asciinema 

安裝完成后查看版本

  1. # asciinema --version 
  2. asciinema 2.0.2 

asciinema 有v1和v2兩個版本,差異較大,咖啡君使用了v2,以下所有內容也基于v2演示。

asciinema 有5個參數,分別為錄制:rec,播放:play,以文件形式查看錄制內容:cat,上傳文件到 asciinema.org 網站:upload、asciinema.org 賬號認證:auth,本文主要說明rec和play的使用。

錄制

  1. # asciinema rec ops-coffee.cast 

有幾個參數可以使用:

--stdin表示啟用標準輸入錄制,意思是通常情況下linux輸入密碼類的信息都不會顯示,如果開啟了這個選項,可以記錄鍵盤輸出的密碼,但這個功能官方似乎還沒有支持,加了后看不到效果。

--append 添加錄制到已存在的文件中。

--raw 保存原始STDOUT輸出,無需定時信息等。

--overwrite 如果文件已存在,則覆蓋。

-c 要記錄的命令,默認為$SHELL。

-e 要捕獲的環境變量列表,默認為SHELL,TERM。

-t 后跟數字,指定錄像的title。

-i 后跟數字,設置錄制時記錄的最大空閑時間。

-y 所有提示都輸入yes

-q 靜默模式,加了此參數在進入錄制或者退出錄制時都沒有提示。

輸入exit或按ctrl+D組合鍵退出錄制。

播放

  1. # asciinema play ops-coffee.cast 

有兩個參數可以使用:

-s 后邊跟數字,表示用幾倍的速度來播放錄像

-i 后邊跟數字,表示在播放錄像時空閑時間的最大秒數

在播放的過程中你可以通過空格來控制暫停或播放,也可以通過ctrl+c組合鍵來退出播放,當你按空格鍵暫停時,可以通過.號來逐幀顯示接下來要播放的內容。

文件

asciinema 推薦的文件后綴是.cast,當然linux是不關心文件后綴的,你用什么都可以,推薦按規范使用.cast,文件內容大概如下

  1. # cat ops-coffee.cast 
  2. {"version": 2, "width": 237, "height": 55, "timestamp": 1572646909, "env": {"SHELL""/bin/bash""TERM""linux"}, "title""ops-coffee"
  3. [0.010014, "o""root@onlinegame:~# "
  4. [1.296458, "o""exit"
  5. [1.976439, "o""\r\n"
  6. [1.976532, "o""exit\r\n"

cast 文件主要有兩部分組成,位于第一行的一個字典,這里叫 header

  1.     "version": 2, 
  2.     "width": 237, 
  3.     "height": 55, 
  4.     "timestamp": 1572646909, 
  5.     "env": { 
  6.         "SHELL""/bin/bash"
  7.         "TERM""linux" 
  8.     }, 
  9.     "title""ops-coffee" 

header很簡單,字段的意思分別為:version版本,width和height分別表示錄制窗口的寬高,timestamp錄制開始的時間戳,env錄制時指定的-e參數設置,title錄制時指定的-t參數設置。

接下來的都是固定格式的內容,實際上就是IO流信息

  1. [0.010014, "o""root@onlinegame:~# "

每一行都是由三部分組成的一個列表

  • 第一部分為一個浮點數,表示輸入輸出這一行內容所花的時間
  • 第二部分似乎是一個固定的字符串,沒有找到說明做什么用的
  • 第三部分就是具體的輸入輸出的內容

這個文件格式設計還是非常優雅的,開頭 header 聲明,后邊具體內容,如果中途因為任何意外導致錄像終止,也不會丟失整個錄像,而且還可以 append 增加錄像,這在需要長時間暫停錄制時非常有用,更重要的是可以流式讀取,幾乎很少占用內存,不需要把整個錄像文件都放在內存中,對長時間的錄制播放更友好。

自動錄制審計日志

如果你有經歷過嚴格的IT審計,或者有用到堡壘機,就會知道操作過程是需要記錄并加入審計的,如果你有因為不知道是誰操作了什么導致了數據被刪而背鍋的經歷,就會知道對操作過程的記錄有多么的重要,接下來以一個簡單的案例來介紹asciinema有什么樣的實用價值。

非常簡單,只需要在 devuser 用戶的家目錄下添加.bash_profile文件即可,內容如下:

  1. $ cat ~/.bash_profile 
  2. export LC_ALL=en_US.UTF-8 
  3. /usr/local/bin/asciinema rec /tmp/$USER-$(date +%Y%m%d%H%M%S).log -q 

添加export LC_ALL=en_US.UTF-8的原因是有可能系統會報錯:

  1. asciinema needs a UTF-8 native locale to run. Check the output of locale command. 

rec命令進行錄制時添加了-q 參數,這樣在進入或者退出時都不會有任何關于 asciinema 的提示,使用簡單方便。

這樣 devuser 用戶每次登陸就會自動開啟一個錄像,如果需要審計或檢查操作,只需要回放錄像就可以了。

你可能會說history命令一樣可以記錄用戶操作,asciinema 有什么優勢呢?asciinema 不僅可以記錄用戶的輸入,還可以記錄系統的輸出,也就是說history只能記錄執行的命令,而 asciinema 還可以記錄執行的結果,怎么樣,是不是很方便,趕緊試試吧。

責任編輯:武曉燕 來源: 運維咖啡吧
相關推薦

2017-05-19 13:19:16

LinuxAsciinema終端會話

2022-07-27 11:46:35

Asciinema日志工具

2022-01-27 15:37:34

Asciinema終端會話記錄器開源

2015-11-26 10:53:45

LinuxWindowsMac OS

2014-05-12 10:57:41

TermRecord終端會話

2017-07-26 11:32:50

NETRabbitMQ系統集成

2021-06-02 11:41:54

LinuxTmux命令

2022-04-29 09:10:25

MobaXterm軟件Linux

2025-02-10 09:20:00

LinuxScreen終端

2022-06-19 14:23:56

Linux

2023-06-16 09:08:39

ReactContextRFC

2021-03-28 09:17:18

JVM場景鉤子函數

2022-09-14 08:16:48

裝飾器模式對象

2022-09-01 13:12:53

LinuxTC網絡限流

2022-10-08 06:43:15

Linux系統終端

2018-04-19 09:23:07

Linux網速測試命令行工具

2022-06-02 10:02:47

Kubectl更新應用Linux

2022-10-27 11:23:26

GoFrame共享變量

2014-04-18 13:28:55

Windows終端Linux

2017-04-12 11:16:08

Python終端編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本一区二区在线视频 | 在线免费看黄 | 日韩电影在线 | 一区二区三区在线免费观看视频 | 青青草网站在线观看 | 中文字幕乱码一区二区三区 | 九九热在线视频观看这里只有精品 | 精精国产xxxx视频在线播放 | 日韩精品在线播放 | 黄色大片免费播放 | 精品欧美一区免费观看α√ | 国产我和子的乱视频网站 | 极品销魂美女一区二区 | 青青草av在线播放 | 成人依人| 国产精品国产亚洲精品看不卡15 | 99re视频在线 | 欧美三级网站 | 日韩一二三区 | 福利片在线观看 | 成人午夜激情 | 少妇久久久| 精品日韩一区二区三区av动图 | 国产在线一区二区三区 | 国内精品伊人久久久久网站 | 黄色成人在线 | www在线视频 | 国产成人精品一区二区三区在线 | 中文字幕在线一区二区三区 | 久久9999久久 | 欧美 日韩 国产 一区 | 密色视频 | 日本高清中文字幕 | 国产在线a视频 | av中文在线 | 久久久久久久av | 日韩欧美一区二区在线播放 | 99精品视频一区二区三区 | 午夜影院网站 | 日韩在线小视频 | 欧美一二精品 |