linux 排程命令,Ubuntu 排程設定 :Crontab 排程使用教學

在linux系統中,如 ubuntu,cron 排程的資料是存在 /etc/crontab 中,我們可以直接輸入 sudo nano /etc/crontab 進行編輯。

1. Linux Cron 指令

crontab -l    列出該使用者擁有的 crontab 指令

crontab -e   編輯該使用者的 crontab 指令

crontab -r    將使用者的 crontab 全部清除!( 小心使用 )

crontab -u   改變排程的執行身分: crontab -u user filename

2. Cron 語法介紹

crontab 是 Linux 內建的機制,可以根據設置的時間參數來執行例行性的工作排程。

e40Te0Ude0kOe5B0d3E7+5FAe5VI+5VRe5WMbBAA7

依序是 分鐘,   小時,   日期,   月份,    星期,   command

參數為 0-59,   0-23,   1-31,  1-21,   0-6,   需要執行的command

※ 星期參數為 0 代表星期日

LDNGM5WUyACTABJsAEmAATYALDmwAL8sM7fzl1TIAJMAEmwASYABNgAsOUwP8Ptmz5PYZNX0oAAAAASUVORK5CYII=

3. 參數特殊字符意義

【*】:星號,代表任何時刻都接受的意思

【,】:逗號,代表分隔時段。例如:30 9,17 * * * command,代表早上 9 點半和下午五點半都執行 command。

【-】:減號,代表一段時間範圍。例如:15 9-12 * * * command,代表從 9 點到 12 點的每個 15 分都執行 command。

【/n】:斜線,n 代表數字,表示每個 n 單位間隔。例如:*/5 * * * * command,代表每隔 5 分鐘執行一次 command。

■ 還有一些人性化的參數,一次取代全部五個數字參數

【@reboot】 :僅在開機的時候執行一次。

【@yearly】 :一年執行一次,和0 0 1 1 * command效果一樣。

【@annually】:(和@yearly一樣)

【@monthly】:一個月執行一次,和0 0 1 * * command效果一樣。

【@weekly】:一個星期執行一次,和0 0 * * 0 command效果一樣。

【@daily】:每天執行,和0 0 * * * command效果一樣。

【@midnight】:(和@daily一樣)

【@hourly】 :每小時執行,和0 * * * * command效果一樣。

4. Cron 執行範例

每 5 分鐘執行一次:

*/5 * * * *  root    /usr/libexec/atrun

每 5 小時執行一次

​* */5 * * * root    /usr/libexec/atrun

每天 AM 5:00 執行指令(星號與星號之間要有空隔)

​00 05   * * *  username /bin/bash /路徑/command

1 至 20 號每天執行一次

​0 1 1-20  * * root    /usr/libexec/atrun

當分針移到第 5 分時,執行此 cron

​5 * * * * root    /usr/libexec/atrun

當時針移到 1 點 1 分時,執行此 cron

​1 1 * * * root    /usr/libexec/atrun

每週一的 1 點 1 分,執行

​1 1 * * 1 root    /usr/libexec/atrun

2 月 29 日時針到 1 點 1 分,執行

​1 1 29 2 * root    /usr/libexec/atrun

8 點到 16 點每 5 分鐘執行一次 cron

​*/5 8-16 * * *   root    /usr/libexec/atrun

設定完成後將 cron 重新啟動

/etc/init.d/cron restart

5. 如何讓 cron job 自動備份資料

範例是每天自動備份另一台機器的資料,但是時間一久 ,備份的資料會越來越多,最後硬碟會撐不住,所以又要加一個自動刪除舊檔的 cron job,下面這個範例會自動刪除五天前的 gz 備份檔。

40 1 * * * userxx /usr/bin/rm date --date="-5 day" +"\%Y-\%m-\%d"*.gz

6. 其他

啟用 Crontab :

​sudo service cron  start

查詢 Crontab 是否有查詢:

​grep CRON /var/log/syslog

tail -f /var/log/syslog | grep CRON

檢查已開啟的服務:

​/etc/init.d

7ac7a58f4db5dda7ad4d35721ec3eef4.png

作者: Gimmy

積極的人在每一次憂患中都看到一個機會

而消極的人則在每個機會都看到某種憂患

相關

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值