Linux 定時任務

2021-09-27 07:26:47 字數 3073 閱讀 2693

概念

計畫任務在linux的體現主要分為at和crontab。

1、at:通過at命令安排任務在某一時刻執行一次。

2、crontab:通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script指令碼。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。這個命令非常適合週期性的日誌分析或資料備份等工作。

命令服務管理crontab

1、安裝 yum -y install crontabs

服務操作說明:

service crond start ## 啟動服務

service crond stop ## 關閉服務

service crond restart ## 重啟服務

service crond reload ## 重新載入配置

service crond status ## 服務狀態

檢視crontab服務是否已設定為開機啟動,執行命令:

chkconfig --list | grep crond

加入開機自動啟動:

chkconfig --level 35 crond on

命令格式

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

引數說明:

-u user:用來設定某個使用者的crontab服務,例如,」-u ixdba」表示設定ixdba使用者的crontab服務,此引數一般有root使用者來執行。

file:file是命令檔案的名字,表示將file做為crontab的任務列表檔案並載入crontab。

-e:編輯某個使用者的crontab檔案內容。如果不指定使用者,則表示編輯當前使用者的crontab檔案。

-l:顯示某個使用者的crontab檔案內容,如果不指定使用者,則表示顯示當前使用者的crontab檔案內容。

-r:刪除定時任務配置,從/var/spool/cron目錄中刪除某個使用者的crontab檔案,如果不指定使用者,則預設刪除當前使用者的crontab檔案。

-i:在刪除使用者的crontab檔案時給確認提示。

命令示例:

crontab file [-u user] ## 用指定的檔案替代目前的crontab。

必須掌握:

crontab -l [-u user] ## 列出使用者目前的crontab.

crontab -e [-u user] ## 編輯使用者目前的crontab.

補充:通過crontab新增的計畫任務都會儲存在/var/spool/cron/目錄裡

配置說明

基本格式 :

*  *  *  *  *  command

分  時  日  月  周  命令

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

第2列表示小時0~23(0表示0點) 7-9表示:8點到10點之間

第3列表示日期1~31

第4列表示月份1~12

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

第6列要執行的命令

配置示例

*/1 * * * * date >> /root/date.txt

上面的例子表示每分鐘執行一次date命令

上面的例子表示每晚的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

定時訪問url

0 9 * * 1  curl

linux定時任務 at定時任務

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

linux定時任務

crontab 設定定時任務 crontab 可以根據分鐘 小時 日期 月份 星期的組合來設定定時任務的自動執行 要使用該服務必須啟動 crond 服務,檢視 crond 服務有沒有啟動,執行命令 servicecrond status 一些任務事例,幫助理解 3020 root back.sh 每...

linux 定時任務

如果想要半夜在linux上備份oracle使用定時命令是最好不過的啦,下面整理了一下linux上的定時任務,可以參考一下 包括一次性的定時at,和長期的定時cron。cron設定 cron長期定時 cron是linux的內建服務,不會自動啟動 service crond start stop sta...