1748202 會員
3100 線上
108759 解決方案
發表新文章

請問cronjob

 
watermelonyu
教授

請問cronjob

在crontab中增加以下job



0 14 * * 0 /sbin/tar cvf /u01/prodmgr/h03_config.tar `cat /u01/prodmgr/h03_config.txt`



每次執行都會收到alert mail:

Cron: The previous message is the standard output and standard error of the following crontab command:





請問這是正常的嗎?
6則回覆 6
watermelonyu
教授

請問cronjob

若是一連串的動作, 建議包成shell來做會比較好.



shell的內容如下



#!/bin/ksh

# - root/bin/sample.sh



/sbin/tar cvf /u01/prodmgr/h03_config.tar /u01/prodmgr/h03_config.txt



cron的內容如下

0 14 * * * /root/bin/sample.sh > /dev/null 2>&1



記得把sample.sh chmod成可執行的, ie, chmod 755 sample.sh
watermelonyu
教授

請問cronjob

Yes, 這是正常的...



crontab 的 job 會產生 STDOUT and STDERR, 會自動 mail to root's mailbox



You can redirect the output to /dev/null

(Example cron entry)

00 12 * * * yourcommand 2>&1 > /dev/null



But then if a problem arises you do not have the error.



watermelonyu
教授

請問cronjob

0標準輸入

1表準輸出

2標準錯誤輸出
watermelonyu
教授

請問cronjob

Hi, Matthew



"若是一連串的動作, 建議包成shell來做會比較好"

May I ask why?



Thanks....David
watermelonyu
教授

請問cronjob

維護上比較容易. 也可避免些不必要的麻煩.



試想, 比方說在cron table中, 大多數的動作都是直接將

raw command一個一個定義出來, 當管理著要維護cron

table或是troubleshooting的時候, 假使同依時段的cron有

數筆, 如果包成shell, 通常非常簡單明瞭就可以知道是哪知

shell, 但如果每筆entry都是由數個指令所組成, 管理著就

必須每筆entry從頭看到尾, 無形了, 增加了管理上的負擔.



watermelonyu
教授

請問cronjob

在cron 裡面畢竟能做到的內容變化較少

如果能用script 來做,就可以做到更多樣化的管理