linux 中 20 個 crontab 示例
如何添加 / 編輯 Crontab
要在 crontab 中添加或更新作業,請使用以下命令。它將在編輯器中打開一個 crontab 文件,可以在其中添加 / 更新作業。
crontab -e
默認情況下,它將編輯當前登錄用戶的 crontab 條目。要編輯其他用戶 crontab 使用命令如下
crontab -u username -e
如何列出 Crontab
要查看當前用戶的 crontab 條目,請使用以下命令。
crontab -l
使用 -u 後跟用戶名來查看指定用戶的 crontab 條目。
crontab -u username -l
20 個有用的 Crontab 示例
以下是使用 crontab 在 Linux 系統中調度 cron 作業的示例列表。
1. 安排一個 cron 在每天凌晨 2 點執行。
這對於每天安排數據庫備份很有用。
0 2 * * * /bin/sh bashup.sh
- 星號 (*) 用於匹配所有記錄。
2. 安排一個 cron 每天執行兩次。
下面的示例命令將在每天上午 5 點和下午 5 點執行。您可以通過逗號分隔指定多個時間戳。
0 5,17 * * * /scripts/script.sh
3. 安排一個 cron 每分鐘執行一次。
通常,我們不需要每分鐘執行任何腳本,但在某些情況下,您可能需要對其進行配置。
* * * * * /scripts/script.sh
4. 安排一個 cron 在每週日下午 5 點執行。
這種類型的 cron 可用於執行每週任務,例如日誌輪換等。
0 17 * * sun /scripts/script.sh
5. 安排一個 cron 每 10 分鐘執行一次。
如果你想以 10 分鐘的間隔運行你的腳本,你可以像下面這樣配置。這些類型的 cron 可用於監控。
*/10 * * * * /scripts/monitor.sh
*/10
表示每 10 分鐘運行一次。就像你想每 5 分鐘執行一次一樣,使用*/5
。
6. 安排一個 cron 在選定的月份執行。
有時我們需要安排一個任務只在選定的月份執行。下面的示例腳本將在 1 月、5 月和 8 月運行。
* * * jan,may,aug * /script/script.sh
7. 安排一個 cron 在選定的日期執行。
如果您需要安排任務僅在選定的日期內執行。下面的示例將在每個星期日和星期五下午 5 點運行。
0 17 * * sun,fri /script/script.sh
8. 安排一個 cron 在每個月的第一個星期日執行。
無法通過時間參數安排腳本僅在第一個星期天執行腳本,但我們可以使用命令字段中的條件來執行此操作。
0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh
9. 安排一個 cron 每四個小時執行一次。
如果您想以 4 小時的間隔運行腳本。它可以像下面這樣配置。
0 */4 * * * /scripts/script.sh
10. 安排一個 cron 在每個星期日和星期一執行兩次。
將任務安排爲僅在週日和週一執行兩次。使用以下設置來做到這一點。
0 4,17 * * sun,mon /scripts/script.sh
11. 安排一個 cron 每 30 秒執行一次。
無法通過時間參數安排每 30 秒執行一次任務,但可以通過安排相同的 cron 兩次來完成,如下所示。
* * * * * /scripts/script.sh
* * * * * sleep 30; /scripts/script.sh
12. 在單個 cron 中安排多個任務。
使用單個 cron 配置多個任務,可以通過用分號 (;) 分隔任務來完成。
* * * * * /scripts/script.sh;/scripts/scrit2.sh
13. 安排任務每年執行(@yearly)。
@yearly 時間戳類似於0 0 1 1 *
。它會在每年的第一分鐘執行一項任務,發送新年問候可能有用
@yearly /scripts/script.sh
14. 安排任務每月執行(@monthly)。
@monthly 時間戳類似於0 0 1 * *
。它將在每月的第一分鐘執行任務。每月執行諸如支付賬單和向客戶開具發票等任務可能會很有用。
@monthly /scripts/script.sh
15. 安排每週執行的任務 (@weekly)。
@weekly 時間戳類似於0 0 * * mon
。它將在一週的第一分鐘執行一項任務。執行每週任務(例如系統清理等)可能很有用。
@weekly /bin/script.sh
16. 安排每天執行的任務 (@daily)。
@daily 時間戳類似於0 0 * * *
。它將在每天的第一分鐘執行一項任務,它可能有助於完成日常任務。
@daily /scripts/script.sh
17. 安排任務每小時執行一次(@hourly)。
@hourly 時間戳類似於0 * * * *
。它將在每小時的第一分鐘執行一項任務,執行每小時任務可能很有用。
@hourly /scripts/script.sh
18. 安排在系統重啓時執行的任務 (@reboot)。
@reboot 對於您希望在系統啓動時運行的任務很有用。它將與系統啓動腳本相同。它對於在後臺自動啓動任務很有用。
@reboot /scripts/script.sh
19. 將 Cron 結果重定向到指定的電子郵件帳戶。
默認情況下,cron 將詳細信息發送到調度 cron 的當前用戶。如果您想將其重定向到您的其他帳戶,可以通過設置 MAIL 變量來完成,如下所示
crontab -l
0 2 * * * /script/backup.sh
20. 將所有 cron 備份到純文本文件。
我建議將所有作業條目的備份保存在一個文件中。這將幫助您在意外刪除的情況下恢復 cron。
檢查當前計劃的 cron:
crontab -l
0 2 * * * /script/backup.sh
將 cron 備份到文本文件:
crontab -l > cron-backup.txt
cat cron-backup.txt
0 2 * * * /script/backup.sh
刪除當前計劃的 cron:
crontab -r
crontab -l
no crontab for root
從文本文件恢復 cron:
crontab -l
0 2 * * * /script/backup.sh
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/AuQGJ0JV3TJoAxjRzWyyfg