@
at命令
at命令用於指定在未來某一時間執行一個任務,該任務只能被執行一次
at [選項] [時間]
- f:指定包含具體指令的任務文件
- q:指定新任務隊列名稱
- l:顯示待執行任務的列表
- d:刪除指定的待執行任務
- m:任務執行完成后向用戶發送E-mail
可以指定時間如:格式如:hh:mm(小時:分鍾)
也可以指定:noon、teatime、midnight、這樣模糊的時間
也可以指定年月日,指定格式為:month day(月、日) mm/dd/yy(月、日、年)、dd.mm.yy(日、月、年)
計划設定完成后,可以用atq命令來查看系統沒有執行的工作任務
可以用atrm刪除任務,比如:
crontab命令
cron是一個linux下的定時執行工具,可以使系統周期性地執行某項任務。cron的配置文件是/etc/crontab,首先查看/etc/crontab文件的內容:
前三行有關cron任務運行時的環境配置:
- shell變量的值只當系統使用的SHELL環境
- PATH變量定義了執行命令的路徑。
- cron的的輸出以電子郵件的形式發送給MAILTO變量定義的用戶名
后邊五個*號代表了不同的時間
* | * | * | * | * | 命令 |
---|---|---|---|---|---|
0~59(分鍾) | 0~23(小時) | 1~31(日) | 1~12(月) | 0~7星期 | 需要執行的命令 |
cron作業通過crontab命令實現,可以使用crontab -e命令將作業任務直接保存在用戶的作業列表文件/var/spool/cron/username里
,也可以先用VI編輯器將人物列表保存在某一個文件里面然后用:
crontab 文件名
執行該文件列表
文件格式與上一個表格一樣
前五行中:
- *表示所有符合規則的值
- 1-4表示4個整數1,2,3,4
- ,隔開一系列值指定一個列表例如:1,6,3,7
- /可以定義間隔頻率,列入0-59/2就代表每兩分鍾,也可以用*/2如果在月中就表示每兩個月運行一次后面的命令
例子: - 每天早上8點到下午18點每6個小時將在線用戶列表保存到userlist文件中
- 周一到周五每天早上六點將文件列表保存在filelist中
- 每天早上7:30開啟ssh服務,晚上23:30關閉ssh服務
- 每天晚上刪除臨時文件
- 每年1月1號8:00發新年快樂
crontab -e
進入cron作業編輯狀態
編寫以下的格式:
然后還需要啟動,用以下方法啟動:(需要root權限)
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //關閉重新啟動