--------------------php
每月1號凌晨3點自動重啓html
步驟以下:linux
一、用root賬號登錄;ubuntu
二、打開終端窗口;bash
三、輸入"crontab -e"app
四、按Insert鍵。工具
五、輸入"0 3 1 * * reboot"url
六、按esc鍵。spa
七、輸入":wq",而後回車。rest
以上輸入內容可經過"crontab -l"命令查詢。
---------------------
每一個星期一凌晨3點自動重啓
一、用root賬號登錄;
二、打開終端窗口;
三、輸入"crontab -e"
四、按Insert鍵。
五、輸入"0 3 * * 1 reboot"
六、按esc鍵。
七、輸入":wq",而後回車。
以上輸入內容可經過"crontab -l"命令查詢。
linux系統定時重啓
使用SSH工具成功登錄後臺後,運行以下命令:
crontab -e
而後在文檔中根據須要插入以下內容:
0 4 * * * /sbin/reboot ( 0 4表示天天凌晨四點重啓.. 0 3表示凌晨3點..)
:wq保存退出後,執行以下命令重啓crond 服務便可.
/etc/rc.d/init.d/crond stop
/etc/rc.d/init.d/crond start
設置每星期日零晨4點重啓
0 4 * * sun /sbin/reboot
第一個*是分鐘
第二個*是小時
第三個*是日期
第四個*是月份
第五個*是星期(0-6)
配置文件通常爲/etc/init.d/cron
啓動:sudo /etc/init.d/cron start
關閉:sudo /etc/init.d/cron stop
重啓:sudo /etc/init.d/cron restart
從新載入配置:sudo /etc/init.d/cron reload
能夠用ps aux | grep cron命令查看cron是否已啓動
添加自啓動任務,請查看:
經過 /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 variablesSHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly0 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly1 3 * * * root rm -f /var/spool/cron/lastrun/cron.daily15 4 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly30 5 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly*/10 * * * * root test -x /usr/sbin/run-crons && /usr/sbin/run-crons
真正描述執行的任務在後五行,每行表明了一個按期執行的任務,從前到後,分爲3部分:
第一部分,一堆奇怪的數字和星號,這部分描述任務的執行週期和時間,後面咱們將詳細解釋。
第二部分,上面的文件所有是"root",描述了執行任務時的用戶。
第三部分,爲須要執行的完整命令。
第一部分分爲5個小部分,沒部分能夠是數字或者星號,分別表明了分鐘、小時、日期、月份、周,讓咱們來看一個例子:
0 7 * * * root mpg123 ~/wakeup.mp3 分 時 日 月 周
星號,即表明不限制,上面的例子就是:天天的7點0分,都將執行mpg123 ~/wakeup.mp3,放首歌,把本身從睡夢中叫醒~
如下是各部分的取之範圍:
分鐘 | 0~59 |
小時 | 0~23 |
日期 | 1~31 |
月份 | 1~12 |
周 | 0~6 |
其中周的範圍0~6,0表明星期天,1~6表明週一~週六。
讓咱們來看更多的例子:
0 4 * * 0 root emerge --sync && emerge -uD world #每週日凌晨4點,更新系統0 2 1 * * root rm -f /tmp/* #每個月1號凌晨2點,清理/tmp下的文件 0 8 6 5 * root mail robin < /home/galeki/happy.txt #每一年5月6日給robin發信祝他生日快樂
假如,我想每隔2分鐘就要執行某個命令,或者我想在天天的6點、12點、18點執行命令,諸如此類的週期,能夠經過 「 / 」 和 「 , 」 來設置:
*/2 * * * * root ............... #每兩分鐘就執行........0 6,12,18 * * * root ............... #天天6點、12點、18點執行........
注意:運行腳本文件,需修改其屬性,使其可執行:chmod +x /.../.../test.php
因爲有時不是以root用戶登陸,因此每行命令中的root能夠省略,以下定時執行php腳本文件
* */2 * * * /usr/bin/php /home/……/……/……/……/test1.php*/25 * * * * /usr/bin/php /home/……/……/……/……/test2.php
添加方式二:編寫本身的需自啓動的文件/……/……/mycron,在裏面添加需自啓動的任務:
* */2 * * * /usr/bin/php /home/……/……/……/……/test1.php*/25 * * * * /usr/bin/php /home/……/……/……/……/test2.php
而後使用"crontab /……/……/mycron"加載該文件,就能自動運行定時任務了
注意:一個用戶帳號下只能有一個自啓動文件,全部需自啓動的任務都需寫在該文件裏,加載文件完成後,無需重啓cron服務,可用「crontab -e」查看所添加的自啓動任務
參照:http://os.51cto.com/art/200805/75224.htm
linux 定時重啓
Linux定時任務系統 Cron 入門(轉)
剛作了一個備份的模塊,後來師傅提示最好再加一個自動備份的功能,因而研究起來Cron這個服務來。Cron 是Linux的內置服務,但它不自動起來,能夠用如下的方法啓動、關閉這個服務:
/sbin/service crond start //啓動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啓服務
/sbin/service crond reload //從新載入配置
你也能夠將這個服務在系統啓動的時候自動啓動:
在/etc/rc.d/rc.local這個腳本的末尾加上:
/sbin/service crond start
如今Cron這個服務已經在進程裏面了,咱們就能夠用這個服務了,Cron服務提供如下幾種接口供你們使用:
1.直接用crontab命令編輯
cron服務提供crontab命令來設定cron服務的,如下是這個命令的一些參數與說明:
crontab -u //設定某個用戶的cron服務,通常root用戶在執行這個命令的時候須要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
好比說root查看本身的cron設置:crontab -u root -l
再例如,root想刪除fred的cron設置:crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab -u root -e
進入vi編輯模式,編輯的內容必定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
這個格式的前一部分是對時間的設定,後面一部分是要執行的命令,若是要執行的命令太多,能夠把這些命令寫到一個腳本里面,而後在這裏直接調用這個腳本就能夠了,調用的時候記得寫出命令的完整路徑。時間的設定咱們有必定的約定,前面五個*號表明五個數字,數字的取值範圍和含義以下:
分鐘 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0表明星期天
除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*表明全部的取值範圍內的數字,"/"表明每的意思,"*/5"表示每5個單位,"-"表明從某個數字到某個數字,","分開幾個離散的數字。如下舉幾個例子說明問題:
天天早上6點
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意單純echo,從屏幕上看不到任何輸出,由於cron把任何輸出都email到root的信箱了。
每兩個小時
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11點到早上8點之間每兩個小時,早上八點
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
每月的4號和每一個禮拜的禮拜一到禮拜三的早上11點
0 11 4 * 1-3 command line
1月1日早上4點
0 4 1 1 * command line
每次編輯完某個用戶的cron設置後,cron自動在/var/spool/cron下生成一個與此用戶同名的文件,此用戶的cron信息都記錄在這個文件中,這個文件是不能夠直接編輯的,只能夠用crontab -e 來編輯。cron啓動後每過一份鍾讀一次這個文件,檢查是否要執行裏面的命令。所以此文件修改後不須要從新啓動cron服務。
2.編輯/etc/crontab 文件配置cron
cron服務每分鐘不只要讀一次/var/spool/cron內的全部文件,還須要讀一次/etc/crontab,所以咱們配置這個文件也能運用cron服務作一些事情。用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //若是出現錯誤,或者有數據輸出,數據做爲郵件發給這個賬號
HOME=/ //使用者運行的路徑,這裏是根目錄
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本
02 4 * * * root run-parts /etc/cron.daily //天天執行/etc/cron.daily內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly //每個月去執行/etc/cron.monthly內的腳本
你們注意"run-parts"這個參數了,若是去掉這個參數的話,後面就能夠寫要運行的某個腳本名,而不是文件夾名了。
實際上就是修改/etc/crontab這個文件
22 4 * * 0 root /sbin/reboot