-e 編輯crontab服務文件
------------------------------------------Ubuntu中的linux---------------
安裝lynx包:apt-get isntall lynx
先寫ln.sh腳本:lynx /folder/script.php
註意感嘆號
把這個腳本保存為cron-lynx.sh
保存到壹個妳找得到的地方,比如:
妳可以把它放在網站根目錄。
然後再創建壹個script.php的文件。當cron運行的時候,將會通過lynx來調用它。這個文件可以通過瀏覽器來訪問。
然後編輯主機的crontab,像下面這樣。
*/1 * * * * root /bin/sh
/usr/www/yourdirectory/sh_scripts/cron-lynx.sh
在/bin/sh 和 /usr 間有空格。就這樣就設好了,還有壹點要註意的是,妳的sh文件和php文件都正確無誤。
===================================================================================
linux下的crontab服務:
1、crontab 是用來讓使用者在固定時間或固定間隔執行程序之用
在linux平臺上如果需要實現任務調度功能可以編寫cron腳本來實現。
以某壹頻率執行任務
linux缺省會啟動crond進程,crond進程不需要用戶啟動、關閉。
crond進程負責讀取調度任務並執行,用戶只需要將相應的調度腳本寫入cron的調度配置文件中。
cron的調度文件有以下幾個:
1.
crontab
2.
cron.d
3.
cron.daily
4.
cron.hourly
5.
cron.monthly
6.
cron.weekly
如果用的任務不是以hourly monthly weekly方式執行,則可以將相應的crontab寫入到crontab
或cron.d目錄中。
示例:
每隔壹分鐘執行壹次腳本 /opt/bin/test-cron.sh
可以在cron.d新建腳本 echo-date.sh
內容為
*/1 * * * * root /opt/bin/test-cron.sh
2、cron是壹個linux下的定時執行工具,可以在無需人工幹預的情況下運行作業。由於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這個服務已經在進程裏面了,我們就可以用這個服務了
查看服務是否已經運行用 ps -ax | grep cron
3、crontab命令
查看該用戶下的crontab服務是否創建成功, 用 crontab -l
命令
命令 which php 查看linux下安裝的php的路徑
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
任務調度的crond常駐命令crond
是linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啟動此
任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
crontab命令選項:
-u指定壹個用戶
-l列出某個用戶的任務計劃
-r刪除某個用戶的任務
-e編輯某個用戶的任務
4、cron文件語法:
分
小時
日
月
星期
命令
0-59
0-23
1-31
1-12
0-6
command
(取值範圍,0表示周日壹般壹行對應壹個任務)
記住幾個特殊符號的含義:
“*”代表取值範圍內的數字,
“/”代表”每”,
“-”代表從某個數字到某個數字,
“,”分開幾個離散的數字
5、任務調度設置文件的寫法
可用crontab
-e命令來編輯,編輯的是/var/spool/cron下對應用戶的cron文件,也可以直接修改/etc/crontab文件
具體格式如下:
Minute Hour Day Month Dayofweek
command
分鐘
小時
天
月
天每星期
命令
每個字段代表的含義如下:
Minute
每個小時的第幾分鐘執行該任務
Hour
每天的第幾個小時執行該任務
Day
每月的第幾天執行該任務
Month
每年的第幾個月執行該任務
DayOfWeek
每周的第幾天執行該任務
Command
指定要執行的程序
在這些字段裏,除了“Command”是每次都必須指定的字段以外,其它字段皆為可選
字段,可視需要決定。對於不指定的字段,要用“*”來填補其位置。
舉例如下:
5
*
*
*
*
ls
指定每小時的第5分鐘執行壹次ls命令
30
5
*
*
*
ls
指定每天的 5:30 執行ls命令
30
7
8
*
*
ls
指定每月8號的7:30分執行ls命令
30
5
8
6
*
ls
指定每年的6月8日5:30執行ls命令
30
6
*
*
0
ls
指定每星期日的6:30執行ls命令[註:0表示星期天,1表示星期1,
以此類推,也可以用英文來表示,sun表示星期天,mon表示星期壹等。]
30
3
10,20
*
*
ls
每月10號及20號的3:30執行ls命令[註:“,”用來連接多個不連續的時段]
25
8-11
*
*
*
ls
每天8-11點的第25分鐘執行ls命令[註:“-”用來連接連續的時段]
*/15
*
*
*
*
ls
每15分鐘執行壹次ls命令 [即每個小時的第0 15 30 45 60分鐘執行ls命令 ]
30
6
*/10
*
*
ls
每個月中,每隔10天6:30執行壹次ls命令[即每月的1、11、21、31日是的6:30執行壹次ls 命令。 ]
每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行文件
50
7
*
*
*
root
run-parts
/etc/cron.daily [
註:run-parts參數表示,執行後面目錄中的所有可執行文件。 ]
6、 新增調度任務
新增調度任務可用兩種方法:
1)、在命令行輸入: crontab -e 然後添加相應的任務,wq存盤退出。
2)、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
7、 查看調度任務
crontab -l //列出當前的所有調度任務
crontab -l -u jp
//列出用戶jp的所有調度任務
8、 刪除任務調度工作
crontab -r //刪除所有任務調度工作
9、 任務調度執行結果的轉向
例1:每天5:30執行ls命令,並把結果輸出到/jp/test文件中
30 5 * * * ls >/jp/test
2>&1
註:2>&1 表示執行結果及錯誤信息。
編輯/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”這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是文件夾名了
例如:
1) 在命令行輸入: crontab -e 然後添加相應的任務,wq存盤退出。
2)直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務
11 2 21 10 * rm -rf /mnt/fb