Linux—任务计划
1、周期性任務(wù)計(jì)劃:
?管理系統(tǒng)的過程中,我們并不是每次都直接執(zhí)行腳本或者命令,有時(shí)候需要讓腳本、命令以及系統(tǒng)等在指定的時(shí)間按照我們的意愿執(zhí)行我們?cè)O(shè)定好的腳本或者命令,這時(shí)候就需要使用到Linux任務(wù)計(jì)劃的功能了,但是如果制定了Linux任務(wù)計(jì)劃但是由于某些特殊原因任務(wù)計(jì)劃沒有能夠被執(zhí)行又該怎么辦呢?anacrontab可以解決這個(gè)問題,它可以在服務(wù)器出現(xiàn)故障后,下次重新進(jìn)入系統(tǒng)后在指定的時(shí)間為我們自動(dòng)執(zhí)行之前的的未被執(zhí)行的任務(wù)。
2、Linux有三種計(jì)劃任務(wù):
?1)at:指定一個(gè)時(shí)間執(zhí)行一個(gè)任務(wù)(適用于一個(gè)或多個(gè)任務(wù),執(zhí)行一次)
?2)cron:根據(jù)一個(gè)時(shí)間表自動(dòng)執(zhí)行任務(wù)(適用于一個(gè)或多個(gè)任務(wù),周期性執(zhí)行)
?3)anacron:在一個(gè)指定的時(shí)間自動(dòng)執(zhí)行之前錯(cuò)過的未被執(zhí)行的任務(wù)
3、命令格式:
at:一次任務(wù)執(zhí)行:
? at交互式:
? at TIME:指定執(zhí)行任務(wù)的時(shí)間
? at>:輸入要執(zhí)行的命令
? ctrl+d:提交要執(zhí)行的任務(wù)
? at -l:查看作業(yè)隊(duì)列
? atq:查看作業(yè)隊(duì)列
? at -d:刪除一個(gè)尚未執(zhí)行的作業(yè)
? atrm:刪除一個(gè)尚未執(zhí)行的作業(yè)
? at批處理:
? at -f /path/to/at_job_file Time:通過文件調(diào)用來執(zhí)行命令
? TIME:時(shí)間的使用格式如下圖:
? TIME可以使用模糊時(shí)間:now,noon,midnight,teatime,tomorrow
at執(zhí)行的命令結(jié)果會(huì)通過調(diào)用mail命令發(fā)送給任務(wù)提交者,默認(rèn)設(shè)置為root用戶。
周期性任務(wù)計(jì)劃:cron
用戶cron:/var/spool/cron/UserName
cron的守護(hù)進(jìn)程為crond
cron的配置文件:/etc/crontab
時(shí)間表示法:
?1)每個(gè)時(shí)間位都應(yīng)該使用其可有的有效取值范圍內(nèi)的值
?2)某時(shí)間位上的*表示對(duì)應(yīng)位的所有有效的取值
?3)-:連續(xù)的時(shí)間相鄰點(diǎn)取值
?4),:離散的時(shí)間點(diǎn)取值
?5)/#:表示在指定的時(shí)間范圍內(nèi)每隔#時(shí)間執(zhí)行一次
cron的常用選項(xiàng):
?1)-l:查看自己的cron任務(wù)列表
?2)-e:通過變量中定義的編輯器打開用戶自己的cron配置文件,編輯單獨(dú)的任務(wù)都是用-e選項(xiàng)
?3)-u UserName:為別的用戶配置crontab作業(yè)
anacron:最小刻度是天
anacron是crontab的補(bǔ)充,用于檢查crontab中某任務(wù)的在過去的一個(gè)周期內(nèi)是否沒有執(zhí)行,如果沒有自執(zhí)行,則在開機(jī)以后的某時(shí)間點(diǎn)讓你執(zhí)行一次,無論其周期是否到達(dá),一般不用更改,保持默認(rèn)即可。
4、實(shí)現(xiàn)事例:
cron:
5、溫馨提醒:如果在crontab的用戶命令中使用%,需要轉(zhuǎn)義為\%,在使用單引號(hào)后,%可以不用轉(zhuǎn)義。
轉(zhuǎn)載于:https://blog.51cto.com/il23f/1370164
總結(jié)
以上是生活随笔為你收集整理的Linux—任务计划的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Combres 库 ASP.NET
- 下一篇: [Linux主机] 优化你的php-fp