日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统任务计划(at、crontab)的使用方法

發布時間:2024/4/13 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统任务计划(at、crontab)的使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux系統任務計劃(atcrontab)的使用方法

?

Linux上的任務計劃:

????????

???????? 任務計劃:

?????????????????? 在未來時間點一次性執行某任務:at, batch

?????????????????? 周期性執行某任務:crontab

?

???????? 電子郵件服務:

?????????????????? smtp:simple mail transmission protocol

??????????????????????????? /var/spool/mail/USERNAME? 郵件目錄

?

?????????????????? pop3:post office protocol?? pop彈出 ,從服務器上下載郵件

?????????????????? imap4:internet mail access protocol? 類似POP3,功能更強

?

?????????????????? MUAmail命令

?

?????????????????? mail命令:

?

??????????????????????????? mail:進入交互式收發郵件接口

???????發送郵件,手動輸入郵件內容

??????????????????????????? mail-s 'SUBJECT' username@hostname

?????????????????? 管道的方式附上郵件的內容

??????????????????????????? mail-s 'SUBJECT' username@hostname < /PATH/FROM/SOMEFILE

?????????????????? 命令執行結果作為郵件內容

??????????????????????????? COMMAND| mail -s 'SUBJECT' username@hostname

?

???????? at命令:

?

?????????????????? 承載未來時間運行的某作業:

?

?????????????????? 支持使用作業隊列:

??????????????????????????? 默認為a隊列;

?

?????????????????? Ctrl+d? 結束命令的輸入

?

?????????????????? at[option]... TIME

?

?????????????????? TIME:

??????????????????????????? (1)絕對時間

???????????????????????????????????? HH:MM,

???????????????????????????????????? MMDD[CC]YY,MM/DD/[CC]YY, DD.MM.[CC]YY or [CC]YY-MM-DD

???????????????????????????????????? tomorrow

??????????????????????????? (2)相對時間

???????????????????????????????????? now+#UNIT

?????????????????????????????????????????????? minute,hour, day, week

??????????????????????????? (3)模糊時間

???????????????????????????????????? midnight

???????????????????????????????????? noon

???????????????????????????????????? teatime

?

?????????????????? 常用選項:

??????????????????????????? -qQUEUE at作業隊列;

??????????????????????????? -f/PATH/FROM/SOMEFILE:從指定的文件中讀取要運行的作業;

??????????????????????????? -l:查看作業隊列中的等運行作業列表;相當于使用atq命令;

??????????????????????????? -cAT_JOB_NUM: 查看待運行作業的內容;

??????????????????????????? -d:刪除指定作業;相當于atrm

?

???????? batch:

?????????????????? at不同的是batch無法指定時間,由系統自行選擇在資源較為空閑時運行指定的任務;

?

???????? crontab:周期性任務計劃

?????????????????? 守護進程:crond

?

?????????????????? 周期性任務有兩類:

??????????????????????????? (1)系統cron任務;沒有默認運行用戶身份,所以需要額外指定運行者;

???????????????????????????????????? /etc/crontab

?

???????????????????????????????????? vim命令

?

? ? ? ? ? #Example of job definition:

? ? ? ? ? #.---------------- minute (0 - 59)

? ? ? ? ? #|? .------------- hour (0 - 23)

? ? ? ? ? #|? |?.---------- day of month (1 - 31)

? ? ? ? ? #|? |?|? .------- month (1 - 12) ORjan,feb,mar,apr ...

? ? ? ? ? #|? |?|? |? .---- day of week(0-6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat

? ? ? ? ? #|? |?|? |? |

? ? ? ? ? #*? *?*? *? * user-name?command to be executed????

?

? ? ? ? ? ? ? ? ? ? ?7個字段:

? ? ? ? ? ? ? ? ? ? ?5個字段:時間點

? ? ? ? ? ? ? ? ? ? ? user-name:以哪個用戶的身份運行任務

? ? ? ? ? ? ? ? ? ? ? ? commandto be executed: 要運行任務???????????????????????????

?

??????????????????????????? (2)用戶cron任務:由某個用戶所提交,默認就以提交者的身份運行,所以無需額外指定運行者;

???????????????????????????????????? /var/spool/cron/USERNAME

???????鑒于crontab文件中的任務的保密性,比如管理給用戶指定的任務,不建議直接使用VIM編輯crontab文件來編輯任務,建議使用crontab命令來管理任務

???????????????????????????????????? vim命令;不建議

???????????????????????????????????? crontab命令:建議

?

? ? ? ? #Example of job definition:

? ? ? ? #.---------------- minute (0 - 59)

? ? ? ? #|? .------------- hour (0 - 23)

? ? ? ? #|? |?.---------- day of month (1 - 31)

? ? ? ? #|? |?|? .------- month (1 - 12) ORjan,feb,mar,apr ...

? ? ? ? #|? |?|? |? .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat

? ? ? ? #|? |?| ?|? |

? ? ? ? #*? *?*? *? *?command to be executed??????

?

? ? ? ? ? ? ? ? 5個時間點:

? ? ? ? ? ? ? ??分鐘:有效取值范圍0-59

? ? ? ? ? ? ? ??小時:0-23

? ? ? ? ? ? ? ??日:1-31

? ? ? ? ? ? ? ??月:1-12

? ? ? ? ? ? ? ??周幾:0-7

?

? ? ? ? ? ? ? ? ?注意:幾月幾號與周幾,不建議同時使用;

?

? ? ? ? ? ? ? ? ?例如:

? ? ? ? ? ? ? ? ? ? ? 6* * * *? 表示每小時的第6分鐘執行一次

?

?

? ? ? ? ? ? ? ? ?時間表示法:

?

? ? ? ? ? ? ? ? ? ?*:對應時間點有效取值范圍內的每個時間點;

? ? ? ? ? ? ? ? ? ?-:一個特定連續時間范圍, 3-7

? ? ? ? ? ? ? ? ? ? ,:一個離散的時間點,3,5,7

? ? ? ? ? ? ? ? ? ?/#:有效時間范圍內的每多少時間;用于指定頻率;

? ? ? ? ? ? ? ? ? ? 1-30/4,*/4

?

? ? ? ? ? ? ? ? ? ? 5*/3 * * * /bin/echo "howdy"? 每隔3個小時的第6分鐘執行一次

?

? ? ? ? ? ? ? ? ? ? 57 * * 1-5 /bin/echo "howdy"?? 每周一到周五的75分執行

?

? ? ? ? ? ? ? ? ? crontab命令:

? ? ? ? ? ? ? ? ? ? ? ? ?crontab[-u user] [-l | -r | -e]

? ? ? ? ? ? ? ? ? ? ? ? ?-uuser: 不是管理自己的cron任務,而是指定的目標用戶的cron任務;僅root擁有管理其它用戶的cron任務的權限;默認管理自己的;

?

? ? ? ? ? ? ? ? ? ? ? ? ?-l:list,列出任務;

? ? ? ? ? ? ? ? ? ? ? ? ?-r:remove, 移除所有任務;

? ? ? ? ? ? ? ? ? ? ? ? ?-e:edit,編輯,打開一當前shell會話的默認編輯器來編輯cron任務表;

?

?

? ? ? ? ? ? ? ? ? ? ? ??思考:

? ? ? ? ? ? ? ? ? ? ?1、如果想實現每8分鐘運行一次某任務?

????????????????????? */8 * * * *

? ? ? ? ? ? ? ? ? ? ?2、如果想實現每10秒鐘運行一次某任務?

? ? ? ? ? ? ? ? ? ? * * * * * for i in {0..4}; do /bin/echo “hello!”; sleep 10 ; done

??????????????????????

? ? ? ? ??補充性的工具:anacron:

?

? ? ? ? ? ? ? ? ?注意:

? ? ? ? ? ? ? ? ? (1)如果不想接收任務執行結果的通知郵件:

? ? ? ? ? ? ? ? ? ? ? ? COMMAND> /dev/null

? ? ? ? ? ? ? ? ? ? ? ? COMMAND&> /dev/null

? ? ? ? ? ? ? ? ? (2)對于crontab文件來講,%有特殊功用;如果命令中會出現%, 要記得轉義,或者用單引號對其引用;

? ? ? ? ? ? ? ? ? (3)crontabPATH變量與用戶的變量不完全相同,所以,建議在cron中的任務要使用絕對路徑

? ? ? ? ? ? ? ? ? ? /root/bin/a.sh

?

?????? 1、每周一到周六的凌晨320分,運行cp命令對/etc/目錄進行歸檔另存,存儲位置為/backups/etc-YYYY-MM-DD

????? 203 * * 1-6 /bin/cp –a /etc /backups/etc-`date +\%F`

?????? 2、每周日凌晨230分,運行cp命令對/etc/fstab文件進行備份,存儲位置為/backup/fstab-YYYY-MM-DD-hh-mm-ss

?????? 302 * * 7 /bin/cp ?/etc/fstab/backup/fstab-`date +’%F-%H-%M-%S’`

?????? 3、每天晚上12點,取得/proc/meminfo文件中所有以SM開頭的行,追加至/statistics/meminfo.txt文件中,且每天的消息之前,要加上類似===============分隔線

??????0 0 * * * /bin/echo ===== >> /tmp/meminfo.txt ; /bin/egrep "^[S|M]"/proc/meminfo >> /tmp/meminfo.txt


轉載于:https://blog.51cto.com/hubla/1692583

總結

以上是生活随笔為你收集整理的Linux系统任务计划(at、crontab)的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。