1. 程式人生 > >linux任務計劃cron、chkconfig工具、systemd管理、unit介紹、targe介紹

linux任務計劃cron、chkconfig工具、systemd管理、unit介紹、targe介紹

Linux

linux任務計劃cron

linux任務計劃:在某個時間自動執行命令或者腳本。

任務計劃的配置文件
cat /etc/crontab

技術分享圖片

前面兩行是定義變量,第三行是指發送郵件給誰,然後最後一行有五個*(星號)分別對應著五個位,也就是上面的五行,下面來介紹一下分別表示什麽意思:

1.表示分鐘(0-59)

2.表示小時(0-23)

3.表示日期(1-31)

4.表示月份(1-12可以寫數字或者英文的簡寫)

5.表示星期(0-6,0或者7表示周日,也可以寫成英文的簡寫)

最後一行開頭部分是用戶(在root用戶下不寫默認就是root)

後面部分,也就是com開頭的位置是你要執行的命令。

自定義任務計劃(用法和vim一樣)

crontab -e

技術分享圖片

案例:每天3點執行123.sh腳本(星號就是所有,比如第三個是 意思就是1-31日都執行)
0 3 * * * /bin/bash /usr/local/sbin/123.sh

技術分享圖片

把正確的結果和錯誤的結果都輸出到123.log裏
0 3 * * * /bin/bash /usr/local/sbin/123.sh >/tmp/123.log 2>/tmp/123.log

把正確的結果和錯誤的結果都追加到123.log裏
0 3 * * * /bin/bash /usr/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log

技術分享圖片

每隔兩個月的1-10號的星期二和星期五的三點 可以寫成如下格式。0是分鐘,3是小時,1-10是日期1號到10號,星號/2是月份除以2可以整除的那個月份,2,5是這個月的周二和周五
0 3 1-10 */2 2,5

技術分享圖片

設置好之後我們還需要使用systemctl start crond命令啟動cron才能啟用計劃
systemctl start crond

查看是否啟用計劃
ps aux |grep crom

技術分享圖片

或者使用systemctl start crom(crom是你的計劃名,圖片中紅色的就是計劃名)
systemctl start crom

技術分享圖片

技術分享圖片綠色就代表已經啟用了)

有時候計劃了執行腳本,但是沒有執行很可能是沒有使用絕對路徑,解決辦法要麽在計劃裏把該條命令的路徑添加到PATH裏,要麽就使用絕對路徑。

還有就是建議計劃的任務都要寫上正確和錯誤的結果追加到某個文件裏,這樣才能保證任務有據可查。

-l 列出,查看任務計劃列表
crontab -l

技術分享圖片

任務計劃cron的文件在/var/spool/cron/目錄下,如果是root的cron就是/var/spool/cron/root(cat查看)

-r刪除計劃
crontab -r

技術分享圖片

-u指定用戶
crontab -u root -l(指定查看root的任務計劃)

技術分享圖片

chkconfig服務管理工具

chkconfig服務管理工具(主要在centos6及以前的系統中使用,如怎麽控制服務啟動,如何控制服務開機啟動、如何控制服務在指定級別啟動等等)

查看當前系統中使用chkconfig的服務(只會列出sysv服務管理模式的進程,centos7很多的都是systemd模式的)
chkconfig --list

技術分享圖片

使用如上命令在centos7只能查看到兩個服務,如下圖

技術分享圖片

這兩個進程文件在如下路徑(之後我們可以腳本放到這個目錄裏用chkconfig工具管理也是可以的)
ls /etc/init.d/

技術分享圖片

表示該服務在0-6級別分別是什麽狀態,開機啟動還是關閉(network是需要關閉或開啟的服務名,off是關閉on是開啟)
chkconfig network off

技術分享圖片

linux任務計劃cron、chkconfig工具、systemd管理、unit介紹、targe介紹