linux 定時任務

2021-07-26 19:51:22 字數 2253 閱讀 3345

一、centos系統安裝crontab

yum install vixie-cron

yum install crontabs

摘要:vixie-cron軟體包是cron的主程式;

crontabs軟體包是用來安裝、卸裝、或列舉用來驅動 cron 守護程序的**的程式。

二、crontab命令

​/sbin/service crond start    //啟動服務

​/sbin/service crond stop     //關閉服務

​/sbin/service crond restart  //重啟服務

​/sbin/service crond reload   //重新載入配置

​/sbin/service crond status   //檢視服務狀態

檢視crontab服務狀態:service crond status

手動啟動crontab服務:service crond start

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

三、設定定時執行任務

先輸入crontab -e,然後就會有個vi編輯介面,再輸入0 3 * * 1 /clearigame2內容到裡面 :wq 儲存退出。

該檔案中每行都包括六個域,其中前五個域是指定命令被執行的時間,最後乙個域是要被執行的命令。

每個域之間使用空格或者製表符分隔。格式如下: 

minute hour day-of-month month-of-year day-of-week commands 

合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday) commands(代表要執行的指令碼)

除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*代表所有的取值範圍內的數字,"/"代表每的意思,"/5"表示每5個單位,"-"代表從某個數字到某個數字,","分開幾個離散的數字。

例:每天早上6點 

0 6 * * * echo "good morning." >> /tmp/test.txt

檢視cron守護程序 ps -ef|grep cron

四、crontab的語法

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

選項與引數:

-u  :只有 root 才能進行這個任務,亦即幫其他使用者建立/移除 crontab 工作排程;

-e  :編輯 crontab 的工作內容

-l  :查閱 crontab 的工作內容

五、配置檔案

1、/var/spool/cron/ 這個目錄下存放的是每個使用者包括root的crontab任務,每個任務以建立者的名字命名,比如tom建的crontab任務對應的檔案就是/var/spool/cron/tom。一般乙個使用者最多只有乙個crontab檔案。

2、/etc/crontab 這個檔案負責安排由系統管理員制定的維護系統以及其他任務的crontab。

3、/etc/cron.d/ 這個目錄用來存放任何要執行的crontab檔案或指令碼。

六、crontab的限制

/etc/cron.allow:將可以使用 crontab 的帳號寫入其中,若不在這個檔案內的使用者則不可使用 crontab;

/etc/cron.deny:將不可以使用 crontab 的帳號寫入其中,若未記錄到這個檔案當中的使用者,就可以使用 crontab。

以優先順序來說, /etc/cron.allow 比 /etc/cron.deny 要優先,而判斷上面,這兩個檔案只選擇乙個來限制而已,因此,建議你只要保留乙個即可,免得影響自己在配置上面的判斷!一般來說,系統預設是保留 /etc/cron.deny ,你可以將不想讓他執行 crontab 的那個使用者寫入 /etc/cron.deny 當中,乙個帳號一行!

七、每個使用者都會生成乙個自動生成乙個自己的crontab檔案

​一般位於/var/spool/cron目錄下

cd /var/spool/cron && ls

如果你用命令 crontab -r 就會刪除當前使用者的crontab檔案,例如你切換到oracle賬號下,執行了該命令,那麼/var/spool/cron/test檔案就會刪除,如果要建立該檔案只需要用crontab -e命令即可。

注意,普通使用者一般沒有許可權訪問/var/spool/cron

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...