歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux crontab計劃任務應用

Linux crontab計劃任務應用

日期:2017/2/28 14:36:10   编辑:Linux教程
1.計劃任務應用
1.at:在指定時間執行指定的命令,執行完就從系統中取消該命令。 cron:在指定時間周期性的執行指定的命令。

注意:如果在要執行命令的那個時間,系統處於關機狀態,那麼該命令將在系統處於開機狀態的下一個同樣的時間執行此命令。比如∶用戶要執行命令的時間是17:20,而發出at命令的時間是早上,那麼系統究竟是在哪一天執行該命令呢?如果用戶在17:20仍然在工作,那麼該命令將在這個時候完成,如果用戶17:20以前就關機了,那麼該命令將在次日17:20執行(條件是系統必須開機);如用cron命令呢??

2.at

1.命令:

at//設置任務

atq //查看目前的任務

atrm //刪除設定的任務

語法: #at[-選項]時間格式//設置任務

#atq //查看目前的任務

#atrm [number] //刪除設定的任務

選項: m : at 的工作完成後,會發email 給該用戶。 時間格式主要有以下幾種: HH:MM在今天的 HH:MM 執行,若該時刻已超過,則明天HH:MM執行此工作。 例:#at12:00 HH:MM YYYY-MM-DD在某年某月的某一天某時刻執行該工作!

例:#at12:00 2006-12-30 HH:MM + number [minutes|hours|days|weeks] 就是說,在某個時間加上定義的時間之後執行。


例: #at 12:00 + 1 days 2006-12-30

在輸入at之後,就進入命令輸入模式,這裡你可以重復輸入命令,退出的時候ctrl+D,就可以離開了。 at12:00shutdown –h 0//今天的12點執行關機命令。

#at12:00 2006-12-30 tar czvf /dump/workdump.tar.gz/work/* // 2006-12-30 12:00對/work目錄下文件進行打包壓縮

#at 12:00 + 1 days 2006-12-30 rm –rf/work/ // 2006-12-31 12:00刪除/work目錄

3.cron

1.cron:周期性的執行任務 語法: crontab [–選項]

選項

-u:只有root能執行的選項,指定一個用戶名

-l:列出crontab的內容

-e:編輯crontab的內容

-r刪除

crontab的內容 servicecrondstart //啟動服務

#servicecrondrestart //重新啟動服務

#servicecrondstop //停止服務

輸入crontab –e 時,會自動打開VI畫面,編輯文本的格式為:五個不同時間命令。

五個不同時間如下表:

59 23 1 5 * 每年五月一日23點59分

30 16 * * 6 每周六16點半執行 *號,代表所有時間都適用

例: 每月1日12:00對系統日志進行備份 0 12 1 * * tar czvf /back/system.tgz /var/log/* crontab是用戶使用的 系統任務就不必運行crontab命令了 可以直接編輯/etc/crontab,

01 * * * * root run-parts /etc/cron.hourly 5個時間後面接的是root,代表的是執行的身份為root用戶。 run-parts代表後面接的/etc/cron.hourly是一個目錄內的所有可執行文件,(你可以到/etc目錄下看看,系統本來就預設幾個目錄)也可以將每天要執行的命令直接寫到/etc/cron.daily就行,就不需要使用crontab –e 。 建立一個/root/runcron的目 錄,將要每隔5分鐘執行的可執行文件放到該目錄下,再在/etc/crontab文件中加 */5 * * * * root run-parts /root/runcron 就可以讓系統每5分鐘執行一次該目錄下的所有可執行文件。

注意:在linux底下的crontab每分鐘會自動讀取一次/etc/crontab的工作,由於crontab是讀到內存中的,所以在你修改完/etc/crontab之後,可能並不會馬上執行,這時候要重新啟動cron服務: #service crond restart
Copyright © Linux教程網 All Rights Reserved