Linux 重定向


重定向  在定時執行任務  還有服務后台啟動  命令輸出比較多

先說一下linux重定向:
0 標准輸入
1 標准輸出
2 錯誤信息輸出

在一般使用時,默認的是標准輸出;1

例如,將某個程序的錯誤信息輸出到log文件中?
./program 2>log。
這樣標准輸出還是在屏幕上,但是錯誤信息會輸出到log文件中。
Linux下還有一個特殊的文件/dev/null,它就像一個無底洞,所有重定向到它。

 

后台運行時候 會有個 nohup 但是使用nohup時,會自動將輸出寫入nohup.out文件中nohup.out自動增大 ;可以利用/dev/null來解決這個問題。

nohup ./program >/dev/null 2>log &
如果錯誤信息也不想要的話:
nohup ./program >/dev/null 2>&1 &
Linux下如何不停止WEB服務清空nohup.out文件;
第一種:cp /dev/null nohup.out
第二種:cat /dev/null > nohup.out

定時刪除日志腳本命令;(刪除時間)

cat rm-log.sh
#! /bin/bash find /var/log/ -mtime +3 -name *-2016* -exec rm -rf {} \;
chmod
+x rm-log.sh

 crontab 定時任務

0 1 * * * /opt/soft/log/rm-log.sh >/dev/null 2>&1

定時清空 nohup.out 文件;

vi /opt/del.sh

#! /bin/bash
cat /dev/null > nohup.out

chmod a+x del.sh

 

crontab -e
0 1 * * * /opt/del.sh >/dev/null 2>&1

以下方法將每10秒執行一次

# crontab -e
* * * * * /bin/date >>/tmp/date.txt
* * * * * sleep 10; /bin/date >>/tmp/date.txt

 

每分鍾;
*/5 * * * * /opt/del_nohup.sh

每五分鍾執行 */5 * * * *
每小時執行 0 * * * *

每天執行 0 0 * * *

每周執行 0 0 * * 0

每月執行 0 0 1 * *

每年執行 0 0 1 1 *

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM