中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

使用logsave將命令輸出保存起來(lái)

2018-07-02    來(lái)源:importnew

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

如果想要把命令的輸出保存到文件中,你會(huì)怎么做?

一個(gè)常用的方法就是使用IO重定向吧

ls >/tmp/ls.txt 2>&1

如果需要在將命令輸出保存到文件中的同時(shí)還需要將內(nèi)容也輸出到屏幕中的話,那么我們可以使用?tee?命令

ls |tee /tmp/ls.txt

不過(guò),我今天發(fā)現(xiàn)還有一個(gè)?logsave?的命令,也可以做到將命令輸出保存到文件的同時(shí)將內(nèi)容頁(yè)輸出到屏幕中。

logsave?的語(yǔ)法非常簡(jiǎn)單:

logsave [ -asv ] logfile cmd_prog [args ... ]

logsave 會(huì)執(zhí)行?cmd_prog args...?并將命令輸出的副本保存到?logfile?中. 而它厲害的地方在于?即使logfile所在的目錄不存在,logsave也會(huì)將輸出保存到內(nèi)存中,等到logfile所在的目錄建立后再將內(nèi)容寫入到日志文件中

logsave?的這個(gè)特性使得它很適合用于系統(tǒng)啟動(dòng)腳本中,將輸出的內(nèi)容保存到內(nèi)存中,直到?/var/?目錄掛載后再將內(nèi)容寫入?/var/log/?中

比如下面這個(gè)例子

# 刪除存放logfile的目錄
rm -rf /tmp/logdir
# 使用logsave保存logfile
logsave /tmp/logdir/logfile bash -c "sleep 2;date"
# 創(chuàng)建logdir
mkdir /tmp/logdir
echo 查看logfile是否生成:
ls -l /tmp/logdir
echo 等待2s后:
sleep 2
echo 再次查看logfile是否生成:
ls -l /tmp/logdir
echo 查看logfile的內(nèi)容:
cat /tmp/logdir/logfile
2018年 05月 14日 星期一 16:31:44 CST
查看logfile是否生成:
總用量 0
等待2s后:
再次查看logfile是否生成:
總用量 4
-rw-r--r-- 1 lujun9972 lujun9972 141 5月  14 16:31 logfile
查看logfile的內(nèi)容:
Log of bash -c sleep 2;date 
Mon May 14 16:31:42 2018

2018年 05月 14日 星期一 16:31:44 CST

Mon May 14 16:31:44 2018
----------------

從中可以看到:

  1. 雖然一開(kāi)始logfile由于logdir不存在而無(wú)法生成,但是在創(chuàng)建logdir后,?logsave?最終依然成功的生成了logfile,并將?date?命令的執(zhí)行結(jié)果寫入其中。
  2. logsave?不僅僅將命令的輸出內(nèi)容寫入logfile中,而且還包括了執(zhí)行的命令,命令執(zhí)行的開(kāi)始時(shí)間和命令執(zhí)行結(jié)束的時(shí)間.

logsave?中的 cmd_prog 可以是一個(gè)特殊的?-?,這表示?logsave?從標(biāo)準(zhǔn)輸入中獲取要記錄日志的內(nèi)容,這使得?logsave?可以像?tee?一樣被使用

ls |wc -l |logsave /tmp/1.txt - >/dev/null
cat /tmp/1.txt

標(biāo)簽: 腳本

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:kafka 源碼分析 4 : broker 處理生產(chǎn)請(qǐng)求

下一篇:使用 logsave 將命令輸出保存起來(lái)