Linux計劃任務cron是一個定時模式,例如我們可以在系統使用最少時對系統進行備份,但是管理員不可能在半夜來到公司工作,那麼就可以使用Linux計劃任務cron,現在來介紹一下具體使用方法。 目前流行的Linux系統在安裝好後cron都是安裝好的並且是隨機啟動的 啟動cron服務/sbin/service crond start 停止服務/sbin/service crond stop 重啟服務/sbin/service crond restart 重新載入/sbin/service crond reload 服務的啟動停止介紹完了下面來說如何新增計劃任務 使用crontab命令 crontab -u設定某個使用者的cron服務 crontab -l列出當前使用者的cron服務的詳細內容 crontab -r刪除當前使用者的cron服務 crontab -e編輯當前使用者的cron服務 例如當前登陸的使用者是root 執行crontab-e就給root使用者建立一個計劃任務 執行crontab -e進入vi編輯計劃任務內容 第1位分鐘表示(0-59)第2位表示小時(0-23) 第3位表示天(1-31)第4位表示月份(1-12) 第5位置表示星期(0-6)0表示星期日 後面是你要執行的任務 每一位之間使用空格分開 上面時間除了使用數字還有幾個特殊符號 “*”表示所有數值如第一位使用*表示每分鐘 “/”表示每如果第一位使用*/5表示每5分鐘 “-”表示數值範圍“,”來隔開離散的數值如第2位是1-6,8表示1點到6點,還有8點 具體例項如下 每天1點向某個檔案寫入一段話 0 1 * * * echo "helloworld">>/tmp/test.txt 每5分鐘向執行一個程式或者命令 */5 * * * * 執行的命令 如何知道您的計劃任務是否運行了,1你可以去檢查您要執行的命令是否在你指定的時間去運行了,2有的命令執行結果不好檢視你可以去查cron的日誌/var/log/cron 在此檔案中記錄了計劃任務執行的情況 上述方法新增完成計劃任務後會在/var/spool/cron目錄中生成一個使用者名稱字的檔案,檔案裡面就是你的計劃任務,cron服務每分鐘讀取一次/var/spool/cron中的檔案 還有一種方法可以新增計劃任務自己編輯/etc/crontab(cron服務每分鐘也讀取一次/etc/crontab檔案) 在檔案的末尾新增計劃任務格式和上述方法完全一樣 /etc/crontab裡面還有其他的東西,下面來說下 MAILTO=root//如果出現錯誤,或者有資料輸出,資料作為郵件發給這個帳號 01 * * * * root run-parts /etc/cron.hourly 每個小時去執行一遍/etc/cron.hourly內的指令碼 0 24 * * * rootrun-parts /etc/cron.daily 每天去執行一遍/etc/cron.daily內的指令碼 2 24 * * 0 root run-parts /etc/cron.weekly 每星期去執行一遍/etc/cron.weekly內的指令碼 4 24 1 * * root run-parts /etc/cron.monthly 每個月去執行一遍/etc/cron.monthly內的指令碼 注意上面的run-parts引數如果去掉run-parts後面就要跟要執行的某個指令碼名,如果加上run-parts引數後面就要跟目錄名了 也可以限制cron的使用 如果在/etc/目錄中存在cron.allowcron.deny檔案 只有cron.allow檔案中列出的使用者才能使用cron服務,同時忽略cron.deny檔案 如果cron.allow檔案不存在,cron.deny檔案中列出的使用者將被禁止使用cron服務。 這樣我們就完成了Linux計劃任務cron的學習。 補充一些例子: crontab檔案的的些例子: 30 21 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每晚的21:30重啟apache 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每月1、10、22日的4 : 45重啟apache 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每週 6、週日的1 : 10重啟apache 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示在每天18 : 00至23 : 00的間每隔30分鐘重啟apache 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 上面的例表示每星期 6的11 : 00 pm重啟apache * */1 * * * /usr/local/etc/rc.d/lighttpd restart 每的小時重啟apache * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 晚上11點到早上7點的間的每隔的小時重啟apache 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 每月的4號和每週的到周 3的11點重啟apache 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart 的月的號的4點重啟apache
Linux計劃任務cron是一個定時模式,例如我們可以在系統使用最少時對系統進行備份,但是管理員不可能在半夜來到公司工作,那麼就可以使用Linux計劃任務cron,現在來介紹一下具體使用方法。 目前流行的Linux系統在安裝好後cron都是安裝好的並且是隨機啟動的 啟動cron服務/sbin/service crond start 停止服務/sbin/service crond stop 重啟服務/sbin/service crond restart 重新載入/sbin/service crond reload 服務的啟動停止介紹完了下面來說如何新增計劃任務 使用crontab命令 crontab -u設定某個使用者的cron服務 crontab -l列出當前使用者的cron服務的詳細內容 crontab -r刪除當前使用者的cron服務 crontab -e編輯當前使用者的cron服務 例如當前登陸的使用者是root 執行crontab-e就給root使用者建立一個計劃任務 執行crontab -e進入vi編輯計劃任務內容 第1位分鐘表示(0-59)第2位表示小時(0-23) 第3位表示天(1-31)第4位表示月份(1-12) 第5位置表示星期(0-6)0表示星期日 後面是你要執行的任務 每一位之間使用空格分開 上面時間除了使用數字還有幾個特殊符號 “*”表示所有數值如第一位使用*表示每分鐘 “/”表示每如果第一位使用*/5表示每5分鐘 “-”表示數值範圍“,”來隔開離散的數值如第2位是1-6,8表示1點到6點,還有8點 具體例項如下 每天1點向某個檔案寫入一段話 0 1 * * * echo "helloworld">>/tmp/test.txt 每5分鐘向執行一個程式或者命令 */5 * * * * 執行的命令 如何知道您的計劃任務是否運行了,1你可以去檢查您要執行的命令是否在你指定的時間去運行了,2有的命令執行結果不好檢視你可以去查cron的日誌/var/log/cron 在此檔案中記錄了計劃任務執行的情況 上述方法新增完成計劃任務後會在/var/spool/cron目錄中生成一個使用者名稱字的檔案,檔案裡面就是你的計劃任務,cron服務每分鐘讀取一次/var/spool/cron中的檔案 還有一種方法可以新增計劃任務自己編輯/etc/crontab(cron服務每分鐘也讀取一次/etc/crontab檔案) 在檔案的末尾新增計劃任務格式和上述方法完全一樣 /etc/crontab裡面還有其他的東西,下面來說下 MAILTO=root//如果出現錯誤,或者有資料輸出,資料作為郵件發給這個帳號 01 * * * * root run-parts /etc/cron.hourly 每個小時去執行一遍/etc/cron.hourly內的指令碼 0 24 * * * rootrun-parts /etc/cron.daily 每天去執行一遍/etc/cron.daily內的指令碼 2 24 * * 0 root run-parts /etc/cron.weekly 每星期去執行一遍/etc/cron.weekly內的指令碼 4 24 1 * * root run-parts /etc/cron.monthly 每個月去執行一遍/etc/cron.monthly內的指令碼 注意上面的run-parts引數如果去掉run-parts後面就要跟要執行的某個指令碼名,如果加上run-parts引數後面就要跟目錄名了 也可以限制cron的使用 如果在/etc/目錄中存在cron.allowcron.deny檔案 只有cron.allow檔案中列出的使用者才能使用cron服務,同時忽略cron.deny檔案 如果cron.allow檔案不存在,cron.deny檔案中列出的使用者將被禁止使用cron服務。 這樣我們就完成了Linux計劃任務cron的學習。 補充一些例子: crontab檔案的的些例子: 30 21 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每晚的21:30重啟apache 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每月1、10、22日的4 : 45重啟apache 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每週 6、週日的1 : 10重啟apache 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示在每天18 : 00至23 : 00的間每隔30分鐘重啟apache 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 上面的例表示每星期 6的11 : 00 pm重啟apache * */1 * * * /usr/local/etc/rc.d/lighttpd restart 每的小時重啟apache * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 晚上11點到早上7點的間的每隔的小時重啟apache 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 每月的4號和每週的到周 3的11點重啟apache 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart 的月的號的4點重啟apache