1、如在Oracle用戶下添加定時任務
su - oracle (首先切換到oracel用戶)
crontab -e
30 2 * * * oracle /backup/oracledata/ordatabak.sh
#每天凌晨2點30分,以oracle用戶執行ordatabak.sh備份文件
(注意:添加定時任務時,如果是在用戶下添加定時任務時,不需要加用戶名比如:
30 2 * * * /backup/oracledata/ordatabak.sh )
2、配置文件存在於/var/spool/cron,只用root用戶可訪問該目錄
cd /var/spool/cron
包括oracle和root兩個用戶的定時任務配置文件
然後 vi oracle ,可看到步驟一中配置的定時任務
可在上述文件中添加多個定時任務。
3、重啓定時任務:sudo service crond restart
(oracel本身沒有權限執行該命令,需賦予權限後用sudo執行,權限賦予見常見問題6)
4、查看當前用戶的定時任務:crontab -l
5、刪除當前用戶的定時任務:crontab -r
6、每條任務調度執行完畢,系統都會將任務輸出信息通過電子郵件的形式發送給當前系統用戶,路徑
爲:/var/spool/mail/oracle
查看最近100行內容: tail -n 100 /var/spool/mail/oracle。
這樣日積月累,日誌信息會非常大,可能會影響系統的正常運行,因此,將每條任務進行重定向處理非常重要。
例如,可以在crontab文件中設置如下形式,忽略日誌輸出:
30 2 * * * /backup/orcldata/orcdatabk.sh >/dev/null 2>&1
“/dev/null 2>&1”表示先將標準輸出重定向到/dev/null,然後將標準錯誤重定向到標準輸出,由於標準輸出已經重定向到了/dev/null,
因此標準錯誤也會重定向到/dev/null,這樣日誌輸出問題就解決了。
7、日誌路徑:/var/log/cron, 內容如下圖:
8、使用實例:
實例1:每1分鐘執行一次command
* * * * * command
實例2:每小時的第3和第15分鐘執行
3,15 * * * * command
實例3:在上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * * command
實例4:每隔兩天的上午8點到11點的第3和第15分鐘執行
3,15 8-11 */2 * * command
實例5:每個星期一的上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * 1 command
實例6:每晚的21:30重啓smb
30 21 * * * /etc/init.d/smb restart
實例7:每月1、10、22日的4 : 45重啓smb
45 4 1,10,22 * * /etc/init.d/smb restart
實例8:每週六、週日的1 : 10重啓smb
10 1 * * 6,0 /etc/init.d/smb restart
實例9:每天18 : 00至23 : 00之間每隔30分鐘重啓smb
0,30 18-23 * * * /etc/init.d/smb restart
實例10:每星期六的晚上11 : 00 pm重啓smb
0 23 * * 6 /etc/init.d/smb restart
實例11:每一小時重啓smb
* */1 * * * /etc/init.d/smb restart
實例12:晚上11點到早上7點之間,每隔一小時重啓smb
* 23-7/1 * * * /etc/init.d/smb restart
實例13:每月的4號與每週一到週三的11點重啓smb
0 11 4 * mon-wed /etc/init.d/smb restart
實例14:一月一號的4點重啓smb
0 4 1 jan * /etc/init.d/smb restart
實例15:每小時執行/etc/cron.hourly目錄內的腳本
01 * * * * root run-parts /etc/cron.hourly
說明:
run-parts這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是目錄名了