Linux下的定時任務

2021-09-08 09:38:04 字數 2743 閱讀 2910

在有了郵件的告警功能後,下一步要做的就是做乙個定時任務,讓這個任務按週期執行,這樣就能周期性地收到告警資訊了。

在做定時任務之前,先檢查一下當前的系統時間【date  "+%y-%m-%d %t"】和硬體時鐘時間【hwclock】:

[root@localhost test]# date  "+%y-%m-%d %t"

2013-07-01 07:57:52

[root@localhost test]# hwclock

2023年07月01日 星期一 07時57分48秒  -0.059059 seconds

[root@localhost test]#  date -s "2013-07-09 08:47:00"

2023年 07月 09日 星期二 08:47:00 cst

再設定硬體時間和系統時間同步

[root@localhost test]# hwclock  -w

[root@localhost test]# hwclock

2023年07月09日 星期二 08時47分07秒  -0.180411 seconds

[root@localhost test]# date  "+%y-%m-%d %t"

2013-07-09 08:47:13

[root@localhost test]#

date  "+%y-%m-%d %t"

執行一下檢視結果:

[zl@localhost test]$ sh test.sh

2013-07-09 09:03:28

好,結果是正常的。下面簡單學習一下crontab 命令:

常用引數:

crontab   -l   //檢視當前使用者下的cron任務

crontab -e  //編輯當前使用者的定時任務

[zl@localhost test]$ crontab -l

52 8 * * * sh /home/zl/test/test.sh >> /home/zl/test/test_chrontab.txt

說明我的當前使用者下,有乙個定時任務,我們來分析一下這個定時任務:

528* * *

sh /home/zl/test/test.sh >> /home/zl/test/test_chrontab.txt

任務中分成6部分,抽象出來為

分 時  日  月 周      命令

* * * * * command

第1列表示分鐘1~59 每分鐘用*或者 */1表示

第2列表示小時1~23(0表示0點)

第3列表示日期1~31

第4列表示月份1~12

第5列標識號星期0~6(0表示星期天)

第6列要執行的命令

以上面的為例,這個任務是在每天的8點52分執行,執行的命令為sh /home/zl/test/test.sh >> /home/zl/test/test_chrontab.txt

如果我們需要再新增乙個每週五的23點50分執行乙個週報的任務,則

執行crontab -e【執行文字編輯器來設定時程表,內定的文字編輯器是 vi】,在任務中新增50 23 * * 5 sh /home/zl/weekly_report.sh即可:

[zl@localhost test]$ crontab -e

crontab: installing new crontab

再次檢視任務列表,又新增了乙個新的任務

[zl@localhost test]$ crontab -l

52 8 * * * sh /home/zl/test/test.sh >> /home/zl/test/test_chrontab.txt

50 23 * * 5 sh /home/zl/weekly_report.sh

[zl@localhost test]$

下面再附一些別人使用的例子:

上面的例子表示每晚的21:30重啟apache。

上面的例子表示每月1、10、22日的4 : 45重啟apache。

上面的例子表示每週

六、週日的1 : 10重啟apache。

上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。

上面的例子表示每星期六的11 : 00 pm重啟apache。

每一小時重啟apache

晚上11點到早上7點之間,每隔一小時重啟apache

每月的4號與每週一到週三的11點重啟apache

一月一號的4點重啟apache

Linux下的定時任務

在有了郵件的告警功能後,下一步要做的就是做乙個定時任務,讓這個任務按週期執行,這樣就能周期性地收到告警資訊了。在做定時任務之前,先檢查一下當前的系統時間 date y m d t 和硬體時鐘時間 hwclock root localhost test date y m d t 2013 07 01 ...

Linux下的定時任務

安裝crontab yum install crontabs啟動crontab service crond start關閉crontab service crond stop重啟crontab service crond restart檢視crontab狀態 service crond status...

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...