歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux下計劃任務詳解

linux下計劃任務詳解1、在未來的某個時間點執行一次任務;有at和batch兩命令
at格式如下:
at 時間
at> 命令
at> Ctrl+d #提交的意思
指定時間:
絕對時間:HH:MM 或 DD.MM.YY 或 MM/DD/YY
相對時間:now+(分鐘或小時或天數或周)
單位:minutes, hours, days, weeks
模糊時間:noon, midnight, teatime
計劃任務的行結果:將以郵件的形式發送給安排任務的用戶
at -l 相當於 atq
at -d 作業號 相當於atrm 作業號
2、周期性地執行任務;有cron和anacron
cron:分為系統cron任務和用戶cron任務且是一個不間斷運行的服務
系統cron任務:配置文件在/etc/crontab
輸寫格式: 分鐘 小時 天 月 周 用戶 任務
用戶cron任務:配置文件在/var/spool/cron/用戶名
輸寫格式: 分鐘 小時 天 月 周 任務
時間取值范圍如下:
分鐘:0-59
小時:0-23
天:1-31
月:1-12
周:0-7,其中0和7都表示周日
時間通配表示:
*: 對應時間的所有有效取值
2 * * * * 代表每小時的第2分鐘執行
5 * * * 7 代表每周日每小時第5分鐘執行
10 11 3 6 * 代表每年6月3號11點10分執行
,: 離散時間點:
15,45 01 * * 3,0 代表每周三和周日凌晨1點第15分和第45分執行
-:連續時間點:
1 03 * * 1-5周一至周五凌晨3點1分執行
/值: 對應取值范圍內每隔多長時間執行一次
*/5 * * * * 代表每5分鐘執行一次
06 */3 * * * 代表每隔兩小時第6分鐘執行一次
29 03 */5 * * 代表每隔5天凌晨3點29分執行一次
計劃任務執行結果將以郵件形式發送給管理員:
cron的環境變量:cron執行所有命令都會去找PATH環境變量指定的路徑
2.1. 如果用戶沒有登入系統,將無法找到執行的命令,所以請用絕對路徑
例如:*/3 * * * * /bin/cat /etc/inittab &> /dev/null
2.2. 如果計劃任務執行腳本,請先定義PATH路徑
例如 PATH=/bin:/sbin:/usr/bin:/usr/sbin
2.3. 用戶任務的管理命令:crontab
-l: 列出當前用戶的所有cron任務
-e: 編輯
-r: 移除所有任務
-u 用戶名: 管理其用戶的cron任務
anacron: 是cron的補充,能夠實現讓cron因特殊原因在過去的時間該執行而未執行的任務 再恢復正常執行一次; 其配置文件在/etc/anacron,系統默認不開啟此服務
注意:無論是corn還是anacron計劃任務,必須保證這兩個服務必須開啟,才能執行對應計劃任務



3.實例:每周六凌晨1點01分備份/etc/passwd,/etc/group,/etc/shadow文件,保存至/backup目錄下
crontab -e
01 01 * * 06 /bin/tar cjf /backup/user-passwd.`date +%F`.tar.bz2 /etc/passwd /etc/group /etc/shadow
4.實例:每20秒執行一次who命令
crontab -e
* * * * * /usr/bin/who
* * * * * sleep 20;/usr/bin/who
* * * * * sleep 40;/usr/bin/who
本文出自 “夏維柳” 博客,請務必保留此出處http://willow.blog.51cto.com/6574604/1769880
Copyright © Linux教程網 All Rights Reserved