crontab 和 2>&1的含義

1.格式寫法

crontab 和 2>&1的含義
常用命令
crontab -e #打開編輯計劃任務,和用vim工具一樣
crontab -l #查看計劃任務

2.實例

每月每天每小時的第 0 分鐘執行一次 /bin/ls

0 * * * * /bin/ls
在 12 月內, 每天的早上 6 點到 12 點,每隔 3 個小時 0 分鐘執行一次 /usr/bin/backup

0 6-12/3 * 12 * /usr/bin/backup
週一到週五每天下午 5:00 寄一封信給 [email protected]

0 17 * * 1-5 mail -s "hi" [email protected] < /tmp/maildata
每月每天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執行 echo "haha"

20 0-23/2 * * * echo "haha"

下面再看看幾個具體的例子:

0 */2 * * * /sbin/service httpd restart  意思是每兩個小時重啓一次apache 

50 7 * * * /sbin/service sshd start  意思是每天7:50開啓ssh服務 

50 22 * * * /sbin/service sshd stop  意思是每天22:50關閉ssh服務 

0 0 1,15 * * fsck /home  每月1號和15號檢查/home 磁盤 

1 * * * * /home/bruce/backup  每小時的第一分執行 /home/bruce/backup這個文件 

00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;  每週一至週五3點鐘,在目錄/home中,查找文件名爲*.xxx的文件,並刪除4天前的文件。

30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30執行一次ls命令

運行腳本實例
crontab 和 2>&1的含義
#表示每1分鐘運行一次腳本,注意腳本路徑寫決定路徑且要給腳本X 運行權限,

/dev/null 表示把腳本所產生的輸出無論是標準的還是錯誤的全部送給 null 設備,不看
& 最後帶個 & 表示後臺運行,寫開機自啓腳本時候建議 加 &

3.查看日誌

tail -f /var/log/cron #監控日誌 "/var/log/cron" 是crontab的日誌路徑
crontab 和 2>&1的含義
#從日誌裏能看出,每分鐘的第一秒,該腳本都會被執行一次。

4. 2>&1 幾個基本符號及其含義

/dev/null 表示空設備文件
0 表示stdin標準輸入
1 表示stdout標準輸出
2 表示stderr標準錯誤
對於2>&1的理解,2就是標準錯誤,1是標準輸出,那麼這條命令不就是相當於把標準錯誤重定向到標準輸出

案例1,重定向錯誤輸出到文件裏
crontab 和 2>&1的含義

案例2 標準錯誤輸出都重定向到文件
crontab 和 2>&1的含義

案例3 錯誤輸出重定向到標準輸出
crontab 和 2>&1的含義
#nginx -V 是錯誤輸出,而grep 是不處理 錯誤輸出的,這樣我們找模塊就比較麻煩了

crontab 和 2>&1的含義
#我把語句改了一下 把錯誤輸出都輸出到標準裏,這樣grep 就能處理了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章