crontab定時任務語法及應用

      網友投稿 1001 2022-05-29

      https://mp.weixin.qq.com/s/Oi9hppNQMeFiQo9s-ge79A

      crond 是linux下用來周期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成操作系統后,默認會安裝此服務 工具,并且會自動啟動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。

      Linux下的任務調度分類

      系統任務調度

      用戶任務調度

      系統周期性所要執行的工作,比如寫緩存數據到硬盤、日志清理等。在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件。

      用戶定期要執行的工作,比如用戶數據備份、定時郵件提醒等。用戶可以使用 crontab 工具來定制自己的計劃任務。所有用戶定義的crontab 文件都被保存在?/var/spool/cron目錄中。其文件名與用戶名一致。

      二、CRONTAB語法及應用

      crontab -l*/2 * * * * echo "i am crontab" >> /home/zhang/hello

      crontab定時任務語法及應用

      可以在編輯狀態修改、刪除、新增一些定時任務。注釋一般用#

      crontab -e

      crontab -r

      此命令使用需要注意,因為一旦執行沒有提醒,該用戶的全部定時任務就清空了。

      * * * * * command

      分 時 日 月 周  命令

      第1列表示分鐘1~59, 每分鐘用*或者 */1表示

      第2列表示小時1~23(0表示0點)

      第3列表示日期1~31

      第4列表示月份1~12

      第5列標識號星期0~6(0表示星期天)

      第6列要運行的命令(命令可以是ls /proc >> /tmp/proc 之類的命令,也可以是執行你自行編寫的腳本的命令。)

      在以上任何值中,星號(*)可以用來代表所有有效的值。譬如,月份值中的星號意味著在滿足其它制約條件后每月都執行該命令。

      整數間的短線(-)指定一個整數范圍。譬如,1-4 意味著整數 1、2、3、4。

      用逗號(,)隔開的一系列值指定一個列表。譬如,3, 4, 6, 8 標明這四個指定的整數。

      正斜線(/)可以用來指定間隔頻率。在范圍后加上 /?意味著在范圍內可以跳過 integer。譬如,0-59/2 可以用來在分鐘字段定義每兩分鐘。間隔頻率值還可以和星號一起使用。例如,*/3 的值可以用在月份字段中表示每三個月運行一次任務。

      開頭為井號(#)的行是注釋,不會被處理。

      如你在 /etc/crontab 文件中所見,它使用run-parts 腳本來執行/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和/etc/cron.monthly?目錄中的腳本,這些腳本被相應地每小時、每日、每周、或每月執行。這些目錄中的文件應該是 shell 腳本。

      如果某 cron 任務需要根據調度來執行,而不是每小時、每日、每周、或每月地執行,它可以被添加到 /etc/cron.d 目錄中。該目錄中的所有文件使用和?/etc/crontab?中一樣的語法。

      實例

      crontab文件的一些例子:

      30 21 * * * service apache restart

      上面的例子表示每晚的21:30重啟apache。

      45 4 1,10,22 * * service apache restart

      上面的例子表示每月1、10、22日的4 : 45重啟apache。

      10 1 * * 6,0 service apache restart

      上面的例子表示每周六、周日的1 : 10重啟apache。

      0,30 18-23 * * * service apache restart

      上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。

      0 23 * * 6 service apache restart

      上面的例子表示每星期六的11 : 00 pm重啟apache。

      * */1 * * * service apache restart

      每一小時重啟apache

      * 23-7/1 * * * service apache restart

      晚上11點到早上7點之間,每隔一小時重啟apache

      0 11 4 * mon-wed service apache restart

      每月的4號與每周一到周三的11點重啟apache

      0 4 1 jan * service apache restart

      一月一號的4點重啟apache

      環境變量

      1、在SHELL中設置了必要的環境變量;例如一個shell腳本手工執行OK,但是配置成后臺作業執行時,獲取不到ORACLE的環境變量,這是因為 crontab環境變量問題,Crontab的環境默認情況下并不包含系統中當前用戶的環境。所以,你需要在shell腳本中添加必要的環境變量的設置

      2、盡量所有的文件都采用完全路徑方式,避免使用相對路徑。

      腳本中涉及文件路徑時寫全局路徑;

      腳本執行要用到java或其他環境變量時,通過source命令引入環境變量

      任務調度

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:通過X寶數據學習爬蟲,python scrapy requests與response對象
      下一篇:vim設置(非常全面),即.vimrc文件的配置
      相關文章
      67pao强力打造67194在线午夜亚洲| 亚洲日韩在线观看免费视频| 久久精品亚洲男人的天堂| 亚洲字幕AV一区二区三区四区| 亚洲福利一区二区| 亚洲第一二三四区| 亚洲国产精品久久网午夜 | 亚洲黄色免费电影| 亚洲男人天堂2017| 亚洲视频在线视频| 久久久亚洲欧洲日产国码是AV| 亚洲一二成人精品区| 亚洲视频一区在线播放| 亚洲综合免费视频| 亚洲H在线播放在线观看H| 亚洲mv国产精品mv日本mv| 国产成人精品亚洲日本在线| 亚洲另类视频在线观看| 亚洲av无码国产综合专区| 中文字幕在线观看亚洲视频| 亚洲中文字幕乱码AV波多JI| 亚洲欧美一区二区三区日产| 亚洲av永久中文无码精品| 国产亚洲视频在线观看网址| 亚洲国产日韩在线观频| 国产精品亚洲w码日韩中文| 亚洲最大AV网站在线观看| 国产亚洲欧洲精品| 亚洲综合自拍成人| 亚洲国产夜色在线观看| 亚洲色成人四虎在线观看| 亚洲av片在线观看| 亚洲情侣偷拍精品| 国产亚洲真人做受在线观看| 亚洲AV成人无码久久精品老人| 亚洲码一区二区三区| 中文字幕在线观看亚洲视频| 99亚洲男女激情在线观看| 亚洲性日韩精品国产一区二区| 亚洲日本一区二区三区在线| 亚洲国产一区在线|