久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

LINUX 配置 cron 計劃任務

2019-05-29 08:33:55 10360

問題

1)確認crond服務在運行

2)查看root有哪些cron任務

3)以用戶root登入,添加以下計劃任務:

4)每天早上7:30啟動sshd服務

5)每天晚上23:30關閉sshd服務

6)以用戶lisi登入,添加以下計劃任務

7)每分鐘記錄一次當前時間,保存到文件 ~/date.txt

8)查看自己的cron任務列表

9)驗證執行效果

方案

周期性計劃任務的服務名為crond,也是一個獨立服務,對應的配置工具為crontab。需要確保系統的crond服務開啟,建議將其設置為開機自啟動。

計劃任務的三要素:時間、任務、用戶。

在編寫計劃任務時,可執行命令最好寫絕對路徑,以確保系統PATH變量受損也能成功找到該命令。

對于時間的表示,crond計劃任務利用的是五個“”表示的,含義分別為:分鐘、小時、日期、月份、星期。

關于時間周期的幾個特殊用法:

:匹配范圍內任意時間

,:表示多個不連續的時間點

-:表示連續的時間范圍

/n:指定時間頻率,每n …

全局配置文件為 /etc/crontab ,其中調用了位于以下目錄的系統計劃任務:

/etc/cron.hourly/

/etc/cron.daily/

/etc/cron.weekly/*

/etc/cron.monthly/*

步驟

實現此案例需要按照如下步驟進行。

步驟一:確認crond服務在運行

命令操作如下所示:


[root@localhost ~]# /etc/init.d/crond status

crond (pid  1611) 正在運行...

[root@localhost ~]# chkconfig --list crond

crond           0:關閉  1:關閉  2:啟用  3:啟用  4:啟用  5:啟用  6:關閉

[root@localhost ~]#


步驟二:查看root有哪些cron任務

命令操作如下所示:


[root@localhost ~]# crontab -l -u root   //-l:查看;-u:指定用戶

no crontab for root    //沒有計劃任務

[root@localhost ~]#


步驟三:以用戶root登入,添加以下計劃任務

每天早上7:30啟動sshd服務

每天晚上23:30關閉sshd服務

執行crontab -e來設置計劃任務時,會調用vim編輯器來進行修改。對應的命令操作如下所示:


[root@localhost ~]# ls /etc/init.d/sshd    //查看是否有安裝該服務

/etc/init.d/sshd

[root@localhost ~]# crontab -e -u root      //-e:編輯計劃任務;-u:指定用戶

30 7 * * * /etc/init.d/sshd start      //每天早上7:30啟動sshd服務

30 23 * * * /etc/init.d/sshd stop    //每天晚上23:30關閉sshd服務


步驟四:以用戶lisi登入,添加以下計劃任務

每分鐘記錄一次當前時間,保存到文件 ~/date.txt。

分析: 首先每分鐘表示: * * * * * 或 */1 * * * *

那怎么保存當前時間呢?我們可以利用輸出重定向來做:

data >> /home/lisi/date.txt

命令操作如下所示:


[root@localhost ~]# id lisi        //確保lisi用戶存在

uid=503(lisi) gid=504(lisi) 組=504(lisi)

[root@localhost ~]# su – lisi      //切換用戶身份

[lisi@localhost ~]$ which date

/bin/date

[lisi@localhost ~]$ crontab –e    //沒有指定用戶就是當前用戶  

* * * * * /bin/date >> /home/lisi/date.txt


查看自己的cron任務列表

命令操作如下所示:


[lisi@localhost ~]$ crontab -l

* * * * * /bin/date >> /home/lisi/date.txt

[lisi@localhost ~]$


步驟五:驗證執行效果

分析: 查看/home/lisi/data.txt文件有沒有按時間寫入即可,但每分鐘都看一次會比較麻煩,這里介紹一個命令:watch

watch -n 1 cat /home/lisi/date.txt

-n:代表時間頻率1秒鐘。

整體可以解釋為:每一秒鐘執行一次“cat /home/lisi/date.txt”。

此命令會占用整個終端,可以按ctrl+c結束。

命令操作如下所示:


[lisi@localhost ~]$ watch -n 1 cat /home/lisi/date.txt

Every 1.0s: cat /home/lisi/date.txt                      Mon Mar  2 10:12:56 2015


Mon Mar  2 10:06:01 CST 2015

Mon Mar  2 10:07:01 CST 2015

Mon Mar  2 10:08:01 CST 2015

Mon Mar  2 10:09:01 CST 2015              //時間為英文表示

Mon Mar  2 10:10:01 CST 2015

Mon Mar  2 10:11:01 CST 2015

可以按ctrl+c結束


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: