Linux定時執行程式

2021-06-16 16:24:09 字數 1882 閱讀 8278

linux有時一些程式需要定時執行,以保證通過程式獲得的資訊是最新的,這便要用到crontab命令,crontab是乙個很方便的在unix/linux系統上定時(迴圈)執行某個任務的程式,具體講解如下:

cron服務是乙個定時執行的服務,用

service crond status

檢視 cron服務狀態,如果沒有啟動則

service crond start

啟動它。

crontab基本用法:    

1. crontab -l

列出當前的crontab任務    

2. crontab -d

刪除當前的crontab任務 3.

crontab -e

(solaris5.8上面是 crontab -r)    編輯乙個crontab任務,ctrl_d結束   

4. crontab -u

設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此引數,比如說root檢視自己的cron設定:crontab -u root -l    再例如,root想刪除fred的cron設定:crontab -u fred -r

5. crontab filename

以filename做為crontab的任務列表檔案並載入

crontab檔案的格式:  

分鐘   小時   天   月   星期   要執行的命令

如果乙個域是*,表明命令可以在該域所有可能的取值範圍內執行。如果乙個域是由連字元隔開的兩個數字,表明命令可以在兩個數字之間的範圍內執行(包括兩個數字 本身)。如果乙個域是由逗號隔開的一系列值組成的,表明命令可以在這些值組成的範圍內執行。  如果日期域和星期域都有值,則這兩個域都有效。

例子:  

#min hour day month dayofweek command   

#每天早上6點10分    10 6 * * * date    

#每兩個小時  0 */2 * * * date (solaris 5.8似乎不支援此種寫法)    

#晚上11點到早上8點之間每兩個小時,每月8號    0 23-7/2,8 * * * date

#每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點    0 11 4 * mon-wed date   

#1月份日早上4點    

0 4 1 jan * date  

補充:在使用crontab的時候,要特別注意的是執行指令碼中能夠訪問到的環境變數和當前測試環境中的環境變數未必

一致,乙個比較保險的做法是在執行的指令碼程式中自行設定環境變數(export)  

(1)先建乙個檔案

crond.txt

如下, 每天早上5點36分重新啟動    36 5 * * * reboot  

(2)上傳到

/opt

目錄  

(3)執行命令  

crontab /opt/crond.txt    crontab -l

讓配置檔案生效:如果讓配置檔案生效,還得重新啟動cron,切記,既然每個使用者下的cron配置檔案修改後,也要

重新啟動cron伺服器。  

在fedora 和redhat中,我們應該用:[root@localhost ~]#

/etc/init.d/crond restart

如果讓crond 在開機時執行,應該改變其執行級別:

[root@localhost ~]#

chkconfig --levels 35 crond on

service crond status 檢視 cron服務狀態,如果沒有啟動則 使用service crond start啟動它, cron服務是乙個定時執

行的服務,可以通過crontab 命令新增或者編輯需要定時執行的任務。

Linux 定時執行程式 crontab

crontab 開放分類 linux 名稱 crontab 使用許可權 所有使用者 使用方式 crontabfilecrontab u user u user 說明 crontab是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。u user 是指設定指定 user...

linux下定時執行程式

在linux下我們有時候會用到定時的執行一些命令,如果使用人工定時操作的話很不方便。還好linux中為我們提供了乙個很好的工具。vi開啟 etc crontab我們可以看到 01 root run parts etc cron.hourly 02 4 root run parts etc cron....

Linux Crontab定時執行程式

1 crond命令詳解 crond 是linux下用來週期性的執行某種任務或等待處理某些事件的乙個守護程序 其中 minute 表示分鐘,可以是從0到59之間的任何整數。hour 表示小時,可以是從0到23之間的任何整數。day 表示日期,可以是從1到31之間的任何整數。month 表示月份,可以是...