用 cron 定時執行任務galeki post in
基礎知識
假如你有一些任務要定期執行,比如清理磁碟、刪除過期檔案、傳送郵件和提醒,這個時候可以用 cron 來幫你。
首先是安裝,大多數發行版都預裝了,gentoo下的cron有許多種實現,可以用 emerge --search cron 來檢視,這裡用 vixie-cron,因為功能比較完整,命令語法也比較通用。
# emerge vixie-cron
之後要啟動 cron 服務:
# /etc/init.d/vixie-cron start
別忘了把 cron 加入到啟動指令碼中:
# rc-update add vixie-cron default
完成安裝。
通過 /etc/crontab 檔案,可以設定系統定期執行的任務,當然,要想編輯這個檔案,得有root許可權。
讓我們開啟 /etc/crontab,看看cron的語法:
# for vixie cron #
# $header: /var/cvsroot/gentoo-x86/sys-process/vixie-cron/files/crontab-3.0
.1-r4,v 1.1
2005/03/04
23:59:48 ciaranm exp $ #
## global variables
shell=/bin/bash
path=/sbin:/bin:/usr/sbin:/usr/bin
mailto=root
home=/
# check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
0 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly
13 * * * root rm -f /var/spool/cron/lastrun/cron.daily
154 * *
6 root rm -f /var/spool/cron/lastrun/cron.weekly
3051 * * root rm -f /var/spool/cron/lastrun/cron.monthly
*/ 10 * * * * root
test -x /usr/sbin/run-crons && /usr/sbin/run-crons
以上是乙個預設的/etc/crontab檔案,7~11行設定了執行任務時特定環境變數的值,mailto=root 指出出錯資訊發給root。
真正描述執行的任務在 14~18 行,每行代表了乙個定期執行的任務,從前到後,分為3部分:
第一部分,一堆奇怪的數字和星號,這部分描述任務的執行週期和時間,後面我們將詳細解釋。
第二部分,上面的檔案全部是 "root",描述了執行任務時的使用者。
第三部分,為需要執行的完整命令。
第一部分分為5個小部分,沒部分可以是數字或者星號,分別代表了分鐘、小時、日期、月份、周,讓我們來看乙個例子:
07 * * * root mpg123 ~/wakeup.***
分 時 日 月 周
星號,即代表不限制,上面的例子就是:每天的7點0分,都將執行mpg123 ~/wakeup.***,放首歌,把自己從睡夢中叫醒~
以下是各部分的取之範圍:
分鐘0~59
小時0~23
日期1~31
月份1~12
周0~6
其中周的範圍0~6,0代表星期天,1~6代表周一~週六。
04 * *
0 root emerge --sync && emerge -ud world
#每週日凌晨4點,更新系統02
1 * * root rm -f /tmp/*
#每月1號凌晨2點,清理/tmp下的檔案08
6 #每年5月6日給robin發信祝他生日快樂
假如,我想每隔2分鐘就要執行某個命令,或者我想在每天的6點、12點、18點執行命令,諸如此類的週期,可以通過 「 / 」 和 「 , 」 來設定:
*/ 2 * * * * root ...............
#每兩分鐘就執行........06,
12,18 * * * root ...............
#每天6點、12點、18點執行........
上面我們提到的 /etc/crontab 檔案,只能指定系統定期執行的命令,如果使用者想設定自己定期需要執行的命令的話,就要用到crontab命令,編輯自己的crontab檔案。
首先,使用者必須隸屬於cron組才可以用crontab命令,可以用下面的命令把使用者加入到cron組中:
# gpasswd -a galeki cron
crontab命令主要有3個引數:
-l : 列出使用者的crontab的內容。
-r : 刪除使用者的crontab的內容。
執行crontab -e,將自動開啟編輯器,你可以編輯自己的crontab檔案,語法和 /etc/crontab 檔案一樣,不同的只是,不必再指出執行的使用者,編輯後儲存即可。
crontab -l用來檢視自己的crontab檔案內能,crontab -r刪除自己的crontab。
Ubuntu定時執行任務 cron
ubuntu系統中可以使用cron來定時的執行一些任務,如資料庫備份。cron簡介 在linux系統中,計畫任務一般都是由cron承擔,cron是linux系統預設自帶的,開機就自動啟動。當cron啟動後,它會讀取它的所有配置檔案 全域性性配置檔案 etc crontab,以及每個使用者的計畫任務配...
linux下用cron定時執行任務的方法
名稱 crontab 使用許可權 所有使用者 使用方式 crontab file u user 用指定的檔案替代目前的crontab。crontab u user 用標準輸入替代目前的crontab.crontab 1 user 列出使用者目前的crontab.crontab e user 編輯使用...
centos7 定時執行任務 cron
centos7 定時執行任務可以傳送curl請求也可以直接執行指令碼 在centos7如果不出意外在你的 var spool cron root 這個檔案裡面去設定 0 0 usr bin curl 這個是用curl的方式定時去請求頁面,表示每小時的整點執行一次,網上都是這麼寫的,但是我的不起作用,...