<var id="xpn71"></var>
<ins id="xpn71"></ins>
<cite id="xpn71"><noframes id="xpn71">
<ins id="xpn71"></ins>
<cite id="xpn71"></cite><del id="xpn71"></del> <var id="xpn71"><dl id="xpn71"></dl></var>
<ins id="xpn71"><span id="xpn71"><listing id="xpn71"></listing></span></ins>
<cite id="xpn71"><dl id="xpn71"></dl></cite><ins id="xpn71"></ins>
<thead id="xpn71"><dl id="xpn71"><progress id="xpn71"></progress></dl></thead>
<var id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></var>
<listing id="xpn71"></listing>
<var id="xpn71"></var><cite id="xpn71"><dl id="xpn71"></dl></cite> <cite id="xpn71"><dl id="xpn71"></dl></cite><menuitem id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></menuitem>
<progress id="xpn71"><ruby id="xpn71"><span id="xpn71"></span></ruby></progress>
<ins id="xpn71"></ins>
<cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><video id="xpn71"><thead id="xpn71"></thead></video></cite>
<cite id="xpn71"></cite>
<ins id="xpn71"><dl id="xpn71"></dl></ins>
<thead id="xpn71"><dl id="xpn71"><address id="xpn71"></address></dl></thead>
<thead id="xpn71"></thead><cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><dl id="xpn71"></dl></cite>
<ins id="xpn71"></ins><address id="xpn71"><i id="xpn71"><th id="xpn71"></th></i></address>

Linux Crontab命令定時任務基本語法與操作教程-VPS/服務器自動化

VPS主機   2018年04月15日 10:41  

Crontab是一個Unix/Linux系統下的常用的定時執行工具,可以在無需人工干預的情況下運行指定作業。很多時候我們都要用到Crontab命令,例如在Let’s Encrypt Wildcard 免費泛域名SSL證書中提到了acme.sh 腳本就是利用了Crontab定時任務的形式來更新SSL證書。

通過crontab命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本,在Linux VPS掛載Google Drive和Dropbox中就可以用Crontab命令實現定時同步備份,用Crontab實現每天定時重啟VPS、服務器或者是Nginx、PHP、MysqL服務等。

總之,掌握基本的Crontab命令語法對于我們管理自己的VPS主機是非常有必要的,本篇文章通過實例來講解如何使用Linux Crontab命令,不作深入的探究,主要是方便日后的快速查詢與參考。

更多的關于VPS主機有關的命令使用方法與應用,可以看看:

Linux系統監控命令整理匯總-掌握CPU,內存,磁盤IO等找出性能瓶頸

三個命令工具Rsync,SCP,Tar-快速解決VPS遠程網站搬家與數據同步

Linux共享文件夾目錄三種方法-NFS遠程掛載,GlusterFS共享存儲和samba共享目錄

一、Crontab查看編輯重啟

1、查看crontab定時執行任務列表

  • crontab -l

2、編輯crontab定時執行任務

  • crontab -e

3、刪除crontab定時任務

  • crontab -r

4、相關命令:

  • sudo service crond start #啟動服務
    sudo service crond stop #關閉服務
    sudo service crond restart #重啟服務
    sudo service crond reload #重新載入配置
    sudo service crond status #查看服務狀態

二、Crontab基本格式語法

crontab 的時間表達式:

  • 基本格式 :
    *  *  *  *  *  command
    分 時 日 月 周 命令

先來看一個例子。每天凌晨1:00執行備份程序:0 1 * * * /root/wzfou.com/backup.sh 。其中/root/wzfou.com/backup.sh 這是腳本路徑,要使用絕對路徑,前面的日期格式請直接看下圖就知道了。

crontab還有操作符,用來實現一些復雜的時間設定需要。操作符有:

  • 1、* 取值范圍內的所有數字 ,代表所有。
  • 2、/ 每過多少個數字 ,代表每隔n長時間。
  • 3、- 從X到Z ,代表一段時間范圍。
  • 4、,散列數字,代表分割開多個值。

三、20個經典Crontab應用實例

以腳本/root/wzfou.com/backup.sh 為演示,大家在使用時記得替換為自己的腳本路徑。

實例1:每1分鐘執行一次

  • * * * * * /root/wzfou.com/backup.sh

實例2:每小時的第3和第15分鐘執行一次

  • 3,15 * * * * /root/wzfou.com/backup.sh

實例3:每天的8點到11點的第3和第15分鐘執行一次

  • 3,15 8-11 * * * /root/wzfou.com/backup.sh

實例4:每隔兩天的上午8點到11點的第3和第15分鐘執行一次

  • 3,15 8-11 */2 * * /root/wzfou.com/backup.sh

實例5:每周一上午8點到11點的第3和第15分鐘執行一次

  • 3,15 8-11 * * 1 /root/wzfou.com/backup.sh

實例6:每晚的21:30執行一次

  • 30 21 * * * /root/wzfou.com/backup.sh

實例7:每月1、10、22日的4 : 45執行一次

  • 45 4 1,10,22 * * /root/wzfou.com/backup.sh

實例8:每周六、周日的1 : 10執行一次

  • 10 1 * * 6,0 /root/wzfou.com/backup.sh

實例9:每天18 : 00至23 : 00之間每隔30分鐘執行一次

  • 0,30 18-23 * * * /root/wzfou.com/backup.sh

實例10:每星期六的晚上23: 00 pm執行一次

  • 0 23 * * 6 /root/wzfou.com/backup.sh

實例11:每一小時執行一次

  • * */1 * * * /root/wzfou.com/backup.sh

實例12:每天晚上23點到第二天7點之間,每隔一小時執行一次

  • * 23-7/1 * * * /root/wzfou.com/backup.sh

實例13: 每個星期的第一天執行一次(即每個星期天晚上24:00開始執行).

  • @weekly /root/wzfou.com/backup.sh

實例14:每個月的15日執行一次.

  • 0 11 15 * * /root/wzfou.com/backup.sh

實例15:每個月的第一天執行一次(即每個月的1日凌晨0點開始執行).

  • @monthly /root/wzfou.com/backup.sh

實例16: 在指定的月份執行一次(在1月,4月和 6月每天晚上0點執行一次).

  • 0 0 * jan,apr,jun * /root/wzfou.com/backup.sh

實例17: 重啟后執行一次.

  • @reboot /root/wzfou.com/backup.sh

實例18:定時任務執行后發一封郵件通知.

  • MAILTO="raj"
    1 1 * * * /root/wzfou.com/backup.sh

實例19:指定shell (默認的是/bin/bash)

  • SHELL=/bin/sh
    1 1 * * * /root/wzfou.com/backup.sh

實例20:指定環境變量.

  • PATH=/sbin:/bin:/usr/sbin:/usr/bin
    1 1 * * * /root/wzfou.com/backup.sh

四、Crontab可能存在的問題

4.1 Crontab不立即生效

大家新建的Crontab定時任務保存后需要等待2分鐘后才會執行,當然如果想要立即執行可以重啟Crontab。當crontab失效時,可以嘗試/etc/init.d/crond restart解決問題,或者查看日志看某個任務有沒有執行/報錯tail -f /var/log/cron。

4.2 Crontab不執行

腳本中涉及文件路徑時寫全局路徑,更新系統時間時區后需要重啟cron。當手動執行腳本OK,但是crontab死活不執行時很有可能是環境變量,可嘗試在crontab中直接引入環境變量解決問題,例如:

  • 0 * * * * . /etc/profile;/bin/sh /root/wzfou.com/backup.sh

4.3 Crontab無權限執行

要注意系統級任務調度與用戶級任務調度。只有 root 用戶和 crontab 文件的所有者可以在 -e 、-l、-r 和 -v 標志后面使用 UserName 以編輯、列出、除去或驗證指定用戶的 crontab 文件。

root用戶的任務調度操作可以通過”crontab –uroot –e”來設置,也可以將調度任務直接寫入/etc/crontab文件。

想編輯別的用戶的 crontab, 使用root運行下面的命令,同一個格式 (追加 “-u username” 到命令后) 也可以用來列出或刪除 crontabs。

  • crontab -u username -e

4.4 Crontab執行后通知

當Crontab定時任務在你所指定的時間執行后,系統會寄一封信給你,顯示該程序執行的內容,可以在日志中/var/log/cron看到。若是你不希望收到這樣的通知,請在每一行空一格之后加上 > /dev/null 2>&1 即可。

您或許對下面這些文章有興趣:                    本月吐槽辛苦排行榜

看貼要回貼有N種理由!看帖不回貼的后果你懂得的!


評論內容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索欄

各類專題梳理

網站導航欄

X
?
返回頂部
<var id="xpn71"></var>
<ins id="xpn71"></ins>
<cite id="xpn71"><noframes id="xpn71">
<ins id="xpn71"></ins>
<cite id="xpn71"></cite><del id="xpn71"></del> <var id="xpn71"><dl id="xpn71"></dl></var>
<ins id="xpn71"><span id="xpn71"><listing id="xpn71"></listing></span></ins>
<cite id="xpn71"><dl id="xpn71"></dl></cite><ins id="xpn71"></ins>
<thead id="xpn71"><dl id="xpn71"><progress id="xpn71"></progress></dl></thead>
<var id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></var>
<listing id="xpn71"></listing>
<var id="xpn71"></var><cite id="xpn71"><dl id="xpn71"></dl></cite> <cite id="xpn71"><dl id="xpn71"></dl></cite><menuitem id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></menuitem>
<progress id="xpn71"><ruby id="xpn71"><span id="xpn71"></span></ruby></progress>
<ins id="xpn71"></ins>
<cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><video id="xpn71"><thead id="xpn71"></thead></video></cite>
<cite id="xpn71"></cite>
<ins id="xpn71"><dl id="xpn71"></dl></ins>
<thead id="xpn71"><dl id="xpn71"><address id="xpn71"></address></dl></thead>
<thead id="xpn71"></thead><cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><dl id="xpn71"></dl></cite>
<ins id="xpn71"></ins><address id="xpn71"><i id="xpn71"><th id="xpn71"></th></i></address>
青海快三昨天
<var id="xpn71"></var>
<ins id="xpn71"></ins>
<cite id="xpn71"><noframes id="xpn71">
<ins id="xpn71"></ins>
<cite id="xpn71"></cite><del id="xpn71"></del> <var id="xpn71"><dl id="xpn71"></dl></var>
<ins id="xpn71"><span id="xpn71"><listing id="xpn71"></listing></span></ins>
<cite id="xpn71"><dl id="xpn71"></dl></cite><ins id="xpn71"></ins>
<thead id="xpn71"><dl id="xpn71"><progress id="xpn71"></progress></dl></thead>
<var id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></var>
<listing id="xpn71"></listing>
<var id="xpn71"></var><cite id="xpn71"><dl id="xpn71"></dl></cite> <cite id="xpn71"><dl id="xpn71"></dl></cite><menuitem id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></menuitem>
<progress id="xpn71"><ruby id="xpn71"><span id="xpn71"></span></ruby></progress>
<ins id="xpn71"></ins>
<cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><video id="xpn71"><thead id="xpn71"></thead></video></cite>
<cite id="xpn71"></cite>
<ins id="xpn71"><dl id="xpn71"></dl></ins>
<thead id="xpn71"><dl id="xpn71"><address id="xpn71"></address></dl></thead>
<thead id="xpn71"></thead><cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><dl id="xpn71"></dl></cite>
<ins id="xpn71"></ins><address id="xpn71"><i id="xpn71"><th id="xpn71"></th></i></address>
<var id="xpn71"></var>
<ins id="xpn71"></ins>
<cite id="xpn71"><noframes id="xpn71">
<ins id="xpn71"></ins>
<cite id="xpn71"></cite><del id="xpn71"></del> <var id="xpn71"><dl id="xpn71"></dl></var>
<ins id="xpn71"><span id="xpn71"><listing id="xpn71"></listing></span></ins>
<cite id="xpn71"><dl id="xpn71"></dl></cite><ins id="xpn71"></ins>
<thead id="xpn71"><dl id="xpn71"><progress id="xpn71"></progress></dl></thead>
<var id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></var>
<listing id="xpn71"></listing>
<var id="xpn71"></var><cite id="xpn71"><dl id="xpn71"></dl></cite> <cite id="xpn71"><dl id="xpn71"></dl></cite><menuitem id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></menuitem>
<progress id="xpn71"><ruby id="xpn71"><span id="xpn71"></span></ruby></progress>
<ins id="xpn71"></ins>
<cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><video id="xpn71"><thead id="xpn71"></thead></video></cite>
<cite id="xpn71"></cite>
<ins id="xpn71"><dl id="xpn71"></dl></ins>
<thead id="xpn71"><dl id="xpn71"><address id="xpn71"></address></dl></thead>
<thead id="xpn71"></thead><cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><dl id="xpn71"></dl></cite>
<ins id="xpn71"></ins><address id="xpn71"><i id="xpn71"><th id="xpn71"></th></i></address>