任務計劃

所謂計劃任務就是指某一個時間系統自動做一件事情如輸入指令或者保存文件等等 
計劃任務分兩種:一次性計劃任務命令(at)和周期性計劃任務命令(crontab)
at的用法:如果當前時間為2017年6月6日 
at 18:00 2017-06-6

w > /root/who.txt 
init 0 
(輸入ctrl+d結束編輯) 
此時將意味著我們的系統將在第二天的傍晚6點執行兩個命令,一個是將當時系統訪問的客戶列表做一個另存為,另一個是關機。 
這個命令將是一次性執行。 
這個任務會生成一個可執行文件到/var/spool/at/這個目錄中可以通過cat查看其中文件內容 
atq或者at -l:這兩個命令是將制定的計劃列出清單會工作的id和執行時間
atrm [id]或者at -d [id]:這兩個命令是將指定的任務刪除,具體刪哪個任務是由任務的id決定的。 
at -c [id] :這個命令是通過工作id來查看計劃中的內容的等同于直接查看/var/spool/at/目錄中的可執行文件。 
(注:查看#at -l; 刪除#at -d [id]; 查看計劃內容#at -c [id])

at這個功能本身是一項開機及執行的服務,利用chkconfig --list atd可以看到atd這個服務是在全字符模式和圖形模式默認開啟的 

。如果這個服務被關閉了我們也可以通過兩種方式來開啟它。 
第一種 /etc/init.d/atd {start|stop|restar|stadues|…} 
第二種 service atd {start|stop|restar|stadues|…} 
at有黑白名單分別為 
/etc/at.deny黑名單此名單中的用戶不可以使用at命令centos默認有這個文件。 
/etc/at.allow白名單這個文件默認沒有可以自己創建,這個文件意味著只有白名單的用戶可以使用at功能其他人都不可以。 
如果兩個文件中都有同一個用戶那么allow優先。 
有的操作系統可能沒有安裝at功能我們可以通過rpm -q at 來查看at工具有沒有安裝如果沒有下載一個裝上即可centos系統自帶。 
說到at也可以順帶提一個命令batch。 
batch的用法和at基本相同而且batch可以不指定時間,或者即使指定了時間到時也未必會執行計劃的操作。 
因為batch會考慮系統的負載狀況當負載狀況低于0.8才會執行其中的操作。

下面來介紹周期性計劃cron
 所謂周期性就是設定等任務計劃會根據你指定的時間條件進行周期性的執行。這樣就不用像at一樣一條一條制定了。

用法具體如下: 
crontab -e -u (user)這是對用戶進行任務編輯;如果直接輸入crontab -e 則是對當前用戶建立計劃 
進入計劃編輯界面后就可以編輯計劃了計劃是已行分開的每一行是一個計劃。格式如下: 
分 (0~59) 時(0~23)日期 (1~31)月(1~12)星期(0~7)命令 如果用*則表示通配其中星期0和7都代表星期天。 
如果我們想在每年的2月和12月的1號和28號的晚上八點到12點每半個小時向系統所在的所有用戶廣播see your back 
編輯為 /30 20-0 1,28 2,12 wall “see your back” 
注意:由于每年的星期幾和日期搭配是會變化的,所以星期幾和日期時間不要同時寫,以免系統會真的等到若干年后兩個時間重合再運行你指定的命令。 
如果我們是root用戶時也可以通過vim在家目錄編輯一個內容為周期運行的指令文件,這樣我們通過命令 crontab -u student /root/文件名 來為student用戶設置計劃。 
計劃編輯好后查詢命令為 crontab -l -u (user)同時也可以到/var/spool/cron/這個目錄中,通過cat查看其中文件內容 
刪除命令 crontab -r -u (user) 這種刪除方式會將用戶的所有計劃全盤刪除因此不建議使用,還是應該進入編輯模式來有目的的刪除。 
這個周期性計劃服務也是默認開啟的開關的方法也是兩種 
第一種 /etc/init.d/crond {start|stop|restar|stadues|…} 
第二種 service crond {start|stop|restar|stadues|…} 
cron有黑白名單分別為 
/etc/cron.deny黑名單此名單中的用戶不可以使用crontab命令centos默認有這個文件。 
/etc/cron.allow白名單這個文件默認沒有可以自己創建,這個文件意味著只有白名單的用戶可以使用crontab其他人都不可以。 
cron功能是否安裝可以通過rpm -q vixie-cron來確認。

原創文章,作者:huchaowei,如若轉載,請注明出處:http://www.www58058.com/77709

(0)
huchaoweihuchaowei
上一篇 2017-06-07
下一篇 2017-06-07

相關推薦

  • Linux基礎—權限、grep使用

    今天主要是幾個練習,內容如下: 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限 [root@localhost ~]# cp -R /etc/skel/ /home/tuser1/ [root@localhost …

    Linux干貨 2016-10-10
  • 第一周博客作業

    前言:這幾周的課程大部分開班前就掌握了的,這次學的細一點,順便學一下markdown寫博客、排版。內容有部分是前幾期學員寫的,覺得寫得不錯,就斗膽截取了,還有部分是自己寫的,也有一些是百度到的內容。 目錄 一、描述計算機的組成及其功能 二、linux發行版 三、linux哲學思想 四、常用命令 五、如何獲取命令的幫助信息 六、linux發行版的基礎目錄名稱命…

    Linux干貨 2017-01-09
  • 文件系統的掛載、usb設備光盤的使用

    一、     文件系統的掛載mount: 1.       掛載命令mount使用: (1)掛載: 將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為,掛載點下原有文件在掛載完成后會被臨時隱藏 (2) 卸載:為解除此…

    Linux干貨 2016-08-29
  • 文件服務及vsftpd的配置

    文件服務:     ftp:應用層,C/S,文件共享;file transfer protocol;     nfs,cifs:文件系統接口,網絡文件系統;         nfs:network f…

    Linux干貨 2016-10-15
  • Puppet 的使用與進階

    Puppet 基于puppet 可實現自動化重復任務, 快速部署關鍵性應用以及在本地或云端完成主動管理變更和快速擴展架構規模.基于master/agent 模型. 基于RPC 的通信, 基于xml 進行數據交換 define : 使用puppet 語言來定義資源的狀態模擬 : 根據資源關系圖, puppet 可以模擬部署無損運行測試代碼強制 : 對比客戶端主…

    2016-12-04
  • /etc/fstab及/boot分區文件恢復

    以centos6為例,/boot目錄下有最為關鍵的開機啟動所必須的內核文件、根文件系統驅動文件已經引導加載程序(bootloader)grub。當我們清空此文件夾之后關機,機器就不能正常啟動了,這種情況下,可以借助光盤啟動進入救援模式解決。具體步驟如下: 1. 開機進入救援模式 這里不像正常情況下,顯示根文件系統掛載在/mnt/sysimage目錄,而是提示…

    2017-07-09
欧美性久久久久