使用指令:
---查看crontab 執行時間與使用者---
#cat /var/cron/log
可以用sftp把檔案拉到windows用筆記本看
---檢查log檔案---
> prodap 10660 c Sun Jul 20 18:15:00 2025
> CMD: /export/home/prodap/lib/chk_df.sh
> prodap 10665 c Sun Jul 20 18:15:00 2025
< prodap 10660 c Sun Jul 20 18:15:00 2025
< prodap 10665 c Sun Jul 20 18:15:00 2025
> CMD: /export/home/proddb/OCS/scripts/rmanbk.bash RLPROD ARCHIVELOG /backup/rman > /dev/null 2>&1
> proddb 15243 c Sun Jul 20 18:30:00 2025
> CMD: /export/home/prodap/lib/lpcnt.sh
> prodap 15244 c Sun Jul 20 18:30:00 2025
> CMD: /export/home/prodap/lib/chk_df.sh
> prodap 15245 c Sun Jul 20 18:30:00 2025
< prodap 15244 c Sun Jul 20 18:30:01 2025
< prodap 15245 c Sun Jul 20 18:30:01 2025
< proddb 15243 c Sun Jul 20 18:30:55 2025
從這邊看到> CMD: /export/home/proddb/OCS/scripts/rmanbk.bash RLPROD ARCHIVELOG /backup/rman > /dev/null 2>&1 這行是在幾點執行的?
這邊筆記的原因是:是要看列出來指令的執行時間要對照上面一行的時間還是下面一行的時間?這邊看起來是指令的下面時間才是執行該指令的時間
這行命令:
> CMD: /export/home/proddb/OCS/scripts/rmanbk.bash RLPROD ARCHIVELOG /backup/rman > /dev/null 2>&1 是在以下這個時間點被觸發的:
> proddb 15243 c Sun Jul 20 18:30:00 2025 也就是:
2025 年 7 月 20 日 18:30:00(晚上 6 點半整)執行
這代表:
該備份腳本 rmanbk.bash 是在 18:30:00 被排程或手動啟動。
執行使用者是 proddb。
執行時標準輸出與錯誤輸出都被導向 /dev/null,所以不會留下訊息在畫面。
登入跑crontab的帳號proddb(每個不同帳號可以跑自己的crontab)
#crontab -l 就可以看到
參考crontab 的時間日期:
# 每天早上 8 點 30 分執行 30 08 * * * /home/gtwang/script.sh --your --parameter # 每週日下午 6 點 30 分執行 30 18 * * 0 /home/gtwang/script.sh --your --parameter # 每週日下午 6 點 30 分執行 30 18 * * Sun /home/gtwang/script.sh --your --parameter # 每年 6 月 10 日早上 8 點 30 分執行 30 08 10 06 * /home/gtwang/script.sh --your --parameter # 每月 1 日、15 日、29 日晚上 9 點 30 分各執行一次 30 21 1,15,29 * * /home/gtwang/script.sh --your --parameter # 每隔 10 分鐘執行一次 */10 * * * * /home/gtwang/script.sh --your --parameter # 從早上 9 點到下午 6 點,凡遇到整點就執行 00 09-18 * * * /home/gtwang/script.sh --your --parameter
