fileclear.shjava
tamcdir=${HOME}/ora/user_projects/domains/tamc
cd ${tamcdir}
echo rm -f `ls heapdump*.phd`
rm -f heapdump*.phd
echo rm -f `ls javacore*.txt`
rm -f javacore*.txt
echo rm -f `ls Snap*.trc`
rm -f Snap*.trc
cd bin
echo cp /dev/null nuhup.out
cp /dev/null nuhup.out
cd ${tamcdir}/pxbak
echo rm -rf `ls 20*`
rm -rf 20*
cd ${tamcdir}/webapps/tamcx/fileLoad
echo rm -f `find /weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1`
find /weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1 -exec rm -f {} \;
task.crontabmysql
#web服務端日誌、臨時文件清理
10 1 * * * ksh $HOME/tools/clearweblogic.sh >>/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/log/crontab.log 2>>/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/log/crontab.log
task.null.crontab是一個沒有內容的空文件linux
開啓定時任務 web
crontab /weblogic/tools/task.crontab
中止定時任務sql
crontab /weblogic/tools/task.null.crontab
crontab [-u username] [-l|-e|-r]shell
參數:apache
-u: 只有root才能進行這個任務,也即幫其餘用戶新建/刪除crontab工做調度;ubuntu
-e: 編輯crontab 的工做內容;緩存
-l: 查閱crontab的工做內容;bash
-r: 刪除全部的crontab的工做內容,若僅要刪除一項,請用-e去編輯。
範例一:用dmtsai的身份在天天的12:00發信給本身
crontab -e
#此時會進入vi的編輯界面讓你編輯工做。注意到,每項工做都是一行。
0 12 * * * mail dmtsai -s "at 12:00" < /home/dmtsai/.bashrc
#分 時 日 月 周 |《==============命令行=======================》|
表明意義 |
分鐘 |
小時 |
日期 |
月份 |
周 |
命令 |
數字範圍 |
0~59 |
0~23 |
1~31 |
1~12 |
0~7 |
就命令啊 |
周的數字爲0或7時,都表明「星期天」的意思。另外,還有一些輔助的字符,大概有下面這些:
特殊字符 |
表明意義 |
*(星號) |
表明任什麼時候刻都接受的意思。舉例來講,範例一內那個日、月、周都是*,就表明着不論何月、何日的禮拜幾的12:00都執行後續命令的意思。 |
,(逗號) |
表明分隔時段的意思。舉例來講,若是要執行的工做是3:00與6:00時,就會是: 0 3,6 * * * command 時間仍是有五列,不過第二列是 3,6 ,表明3與6都適用 |
-(減號) |
表明一段時間範圍內,舉例來講,8點到12點之間的每小時的20分都進行一項工做: 20 8-12 * * * command 仔細看到第二列變成8-12.表明 8,9,10,11,12 都適用的意思 |
/n(斜線) |
那個n表明數字,便是每隔n單位間隔的意思,例如每五分鐘進行一次,則: */5 * * * * command 用*與/5來搭配,也能夠寫成0-59/5,意思相同 |
爲當前用戶建立cron服務
1. 鍵入 crontab -e 編輯crontab服務文件
例如 文件內容以下:
*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh
保存文件並並退出
*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh
*/2 * * * * 經過這段字段能夠設定何時執行腳本
/bin/sh /home/admin/jiaoben/buy/deleteFile.sh 這一字段能夠設定你要執行的腳本,這裏要注意一下bin/sh 是指運行 腳本的命令 後面一段時指腳本存放的路徑
2. 查看該用戶下的crontab服務是否建立成功, 用 crontab -l 命令
3. 啓動crontab服務
通常啓動服務用 /sbin/service crond start 如果根用戶的cron服務能夠用 sudo service crond start, 這裏仍是要注意 下 不一樣版本linux系統啓動的服務的命令也不一樣 ,像個人虛擬機裏只需用 sudo service cron restart 便可,如果在根用下直接鍵入service cron start就能啓動服務
4. 查看服務是否已經運行用 ps -ax | grep cron
5. 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
任務調度的crond常駐命令
crond 是linux用來按期執行程序的命令。當安裝完成操做系統以後,默認便會啓動此
任務調度命令。crond命令每分鍾會按期檢查是否有要執行的工做,若是有要執行的工
做便會自動執行該工做。
6. crontab命令選項:
-u指定一個用戶
-l列出某個用戶的任務計劃
-r刪除某個用戶的任務
-e編輯某個用戶的任務
7. cron文件語法:
分 小時 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值範圍,0表示週日通常一行對應一個任務)
記住幾個特殊符號的含義:
「*」表明取值範圍內的數字,
「/」表明」每」,
「-」表明從某個數字到某個數字,
「,」分開幾個離散的數字
8. 任務調度設置文件的寫法
可用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命令[即每個月的一、十一、2一、31日是的6:30執行一次ls 命令。 ]
天天7:50以root 身份執行/etc/cron.daily目錄中的全部可執行文件
50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts參數表示,執行後面目錄中的全部可執行文件。 ]
9. 新增調度任務
新增調度任務可用兩種方法:
1)、在命令行輸入: crontab -e 而後添加相應的任務,wq存盤退出。
2)、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
10. 查看調度任務
crontab -l //列出當前的全部調度任務
crontab -l -u jp //列出用戶jp的全部調度任務
11. 刪除任務調度工做
crontab -r //刪除全部任務調度工做
12. 任務調度執行結果的轉向
例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
在UNIX下怎樣實現和Windows下「計劃任務」同樣的功能
$crontab -e 編輯腳本
$crontab -l 察看腳本
用$crontab -e 編輯腳本,加入下列行
:分 小時 星期 月 命令
Linux下crontab命令的用法
任務調度的crond常駐命令
crond 是linux用來按期執行程序的命令。當安裝完成操做系統以後,默認便會啓動此任務調度命令。crond命令每分鍾會按期檢查是否有要執行的工做,若是有要執行的工做便會自動執行該工做。而linux任務調度的工做主要分爲如下兩類:
一、系統執行的工做:系統週期性所要執行的工做,如備份系統數據、清理緩存
二、我的執行的工做:某個用戶按期要作的工做,例如每隔10分鐘檢查郵件服務器是否有新信,這些工做可由每一個用戶自行設置
三、Crontab是UNIX系統下的定時任務觸發器,其使用者的權限記載在下列兩個文件中:文件含義
/etc/cron.deny 該文件中所列的用戶不容許使用Crontab命令
/etc/cron.allow 該文件中所列的用戶容許使用Crontab命令
/var/spool/cron/ 是全部用戶的crontab文件
/var/spool/cron/crontabs
四、Crontab命令的格式爲:crontab –l|-r|-e|-i [username],
其參數含義如表一: 參數名稱 含義 示例
-l 顯示用戶的Crontab文件的內容
crontabl –l
-i 刪除用戶的Crontab文件前給提示
crontabl -ri
-r
從Crontab目錄中刪除用戶的Crontab文件
crontabl -r
-e
編輯用戶的Crontab文件
crontabl -e
五、用戶所創建的Crontab文件存於/var/spool/cron中,其文件名與用戶名一致。它的格式共分爲六段,前五段爲時間設定段,第六段爲所要執行的命令段,格式以下:* * * * *
其時間段的含義如表二: 段 含義 取值範圍
第一段 表明分鐘 0—59
第二段 表明小時 0—23
第三段 表明日期 1—31
第四段 表明月份 1—12
第五段 表明星期幾 0表明星期日
名稱 : crontab
使用權限 : 全部使用者
使用方式 :
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
說明 :
crontab 是用來讓使用者在固定時間或固定間隔執行程序之用,換句話說,也就是相似使用者的時程表。-u user 是指設定指定 user 的時程表,這個前提是你必需要有其權限(好比說是 root)纔可以指定他人的時程表。若是不使用 -u user 的話,就是表示設定本身的時程表。
餐數 :
-e : 執行文字編輯器來設定時程表,內定的文字編輯器是 VI,若是你想用別的文字編輯器,則請先設定 VISUAL 環境變數來指定使用那個文字編輯器(好比說 setenv VISUAL joe)
-r : 刪除目前的時程表
-l : 列出目前的時程表
時程表的格式以下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程序。
當 f1 爲 * 時表示每分鐘都要執行 program,f2 爲 * 時表示每小時都要執行程序,其餘類推
當 f1 爲 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 爲 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推
當 f1 爲 */n 時表示每 n 分鐘個時間間隔執行一次,f2 爲 */n 表示每 n 小時個時間間隔執行一次,其餘類推
當 f1 爲 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 爲 a, b, c,... 時表示第 a, b, c...個小時要執行,其餘類推
使用者也能夠將全部的設定先存放在檔案 file 中,用 crontab file 的方式來設定時程表。 例子 :
每個月天天每小時的第 0 分鐘執行一次 /bin/ls :
在 12 月內, 天天的早上 6 點到 12 點中,每隔 20 分鐘執行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
週一到週五天天下午 5:00 寄一封信給 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name /dev/null 2>&1
便可
例:若是用戶的Crontab文件的內容是:29 19 * * * echo its dinner time,則系統天天的19:29顯示‘its dinner time’
示例(建立一個cron全過程,每分鐘都會在test.txt裏輸入當前時間):
1. 以普通用戶登陸linux系統(我用的是CentOS4.1)
2. $crontab –e
說明:系統默認的編輯器是VIM,若是不是請加上如下shell:
$EDITOR=vi
$export EDITOR
3. 輸入」*/1 * * * * date >> $HOME/test.txt」,save and exit VIM
4. $su root
5. $cd /etc/init.d
6. ./crond restart
下面看看看幾個具體的例子:
0 */2 * * * /sbin/service httpd restart 意思是每兩個小時重啓一次apache
50 7 * * * /sbin/service sshd start 意思是天天7:50開啓ssh服務
50 22 * * * /sbin/service sshd stop 意思是天天22:50關閉ssh服務
0 0 1,15 * * fsck /home 每個月1號和15號檢查/home 磁盤
1 * * * * /home/bruce/backup 每小時的第一分執行 /home/bruce/backup這個文件
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 每週一至週五3點鐘,在目錄/home中,查找文件名爲*.xxx的文件,並刪除4天前的文件。
30 6 */10 * * ls 意思是每個月的一、十一、2一、31日是的6:30執行一次ls命令
在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
在指定的時間運行任務
也能夠經過at命令來控制在指定的時間運行任務
如:
at -f test-cron.sh -v 10:25
其中-f 指定腳本文件, -v 指定運行時間
quote:ea946d690b="lophyxp"]首先用
contab -l >contabs.tmp
導出contab的配置。
而後編輯contabs.tmp文件。以一下格式添加一行:
分鐘 小時 天 月 星期 命令
好比
10 3 * * 0,6 hello
就是每週6、週日的3點10分執行hello程序。
15 4 * * 4-6 hello
就是從週四到週六的4點15點執行hello程序。
而後用
contab contabs.tmp
命令導入新的配置。
通常不建議直接修改/etc/下的相關配置文件。
啓動cron進程的方法:/etc/init.d/crond start
開機就啓動cron進程的設置命令:chkconfig --add crond
方法二:
把cron加入到啓動腳本中:
# rc-update add vixie-cron default
crontab -l #查看你的任務
crontab-e#編輯你的任務
crontab-r#刪除用戶的crontab的內容
實例講解二:
系統cron設定:/etc/crontab
經過 /etc/crontab 文件,能夠設定系統按期執行的任務,固然,要想編輯這個文件,得有root權限
0 7 * * * root mpg123 ~/wakeup.mp3
分 時 日 月 周
示例:
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點執行........
每兩個小時
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點
linux下定時執行任務的方法
在LINUX中你應該先輸入crontab -e,而後就會有個vi編輯界面,再輸入0 3 * * 1 /clearigame2內容到裏面 :wq 保存退出。
在
LINUX中,週期執行的任務通常由cron這個守護進程來處理[ps -ef|grep cron]。cron讀取一個或多個配置文件,這些配置文件中包含了命令行及其調用時間。
cron的配置文件稱爲「crontab」,是「cron table」的簡寫。
1、cron在3個地方查找配置文件:
一、/var/spool/cron/ 這個目錄下存放的是每一個用戶包括root的crontab任務,每一個任務以建立者的名字命名,好比tom建的crontab任務對應的文件就是/var/spool/cron/tom。
通常一個用戶最多隻有一個crontab文件。
2、/etc/crontab 這個文件負責安排由系統管理員制定的維護系統以及其餘任務的crontab。
3、/etc/cron.d/ 這個目錄用來存聽任何要執行的crontab文件或腳本。
4、權限
crontab權限問題到/var/adm/cron/下一看,文件cron.allow和cron.deny是否存在
用法以下:
一、若是兩個文件都不存在,則只有root用戶才能使用crontab命令。
二、若是cron.allow存在但cron.deny不存在,則只有列在cron.allow文件裏的用戶才能使用crontab命令,若是root用戶也不在裏面,則root用戶也不能使用crontab。
三、若是cron.allow不存在, cron.deny存在,則只有列在cron.deny文件裏面的用戶不能使用crontab命令,其它用戶都能使用。
四、若是兩個文件都存在,則列在cron.allow文件中並且沒有列在cron.deny中的用戶可使用crontab,若是兩個文件中都有同一個用戶,
以cron.allow文件裏面是否有該用戶爲準,若是cron.allow中有該用戶,則可使用crontab命令。
5、cron服務
cron是一個linux下 的定時執行工具,能夠在無需人工干預的狀況下運行做業。
/sbin/service crond start //啓動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啓服務
/sbin/service crond reload //從新載入配置
/sbin/service crond status //查看服務狀態
在crontab文件中如何輸入須要執行的命令和時間。該文件中每行都包括六個域,其中前五個域是指定命令被執行的時間,最後一個域是要被執行的命令。
每一個域之間使用空格或者製表符分隔。格式以下:
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 //注意單純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 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //若是出現錯誤,或者有數據輸出,數據做爲郵件發給這個賬號 HOME=/
每小時執行/etc/cron.hourly內的腳本
01 * * * * root run-parts /etc/cron.hourly
天天執行/etc/cron.daily內的腳本
02 4 * * * root run-parts /etc/cron.daily
每星期執行/etc/cron.weekly內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly
每個月去執行/etc/cron.monthly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly
注意: "run-parts"這個參數了,若是去掉這個參數的話,後面就能夠寫要運行的某個腳本名,而不是文件夾名。
天天的下午4點、5點、6點的5 min、15 min、25 min、35 min、45 min、55 min時執行命令。
5,15,25,35,45,55 16,17,18 * * * command
每週一,三,五的下午3:00系統進入維護狀態,從新啓動系統。
00 15 * * 1,3,5 shutdown -r +5
每小時的10分,40分執行用戶目錄下的innd/bbslin這個指令:
10,40 * * * * innd/bbslink
每小時的1分執行用戶目錄下的bin/account這個指令:
天天早晨三點二十分執行用戶目錄下以下所示的兩個指令(每一個指令以;分隔):
20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)
每一年的一月和四月,4號到9號的3點12分和3點55分執行/bin/rm -f expire.1st這個指令,並把結果添加在mm.txt這個文件以後(mm.txt文件位於用戶本身的目錄位置)。
12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt
at命令實現定時任務
假如咱們只是想要讓特定任務運行一次,那麼,這時候就要用到at監控程序了。
at相似打印進程,會把任務放到/var/spool/at目錄中,到指定時間運行它 。at命令至關於另外一個shell,運行at time命令時,它發送一個個命令,能夠輸入任意命令或者程序。
at命令執行流程以下
# at 2:05 tomorrow
at>/home/kyle/do_job
at> Ctrl+D
AT Time中的時間表示方法
-----------------------------------------------------------------------
時 間 例子 說明
-----------------------------------------------------------------------
Minute at now + 5 minutes 任務在5分鐘後運行
Hour at now + 1 hour 任務在1小時後運行
Days at now + 3 days 任務在3天后運行
Weeks at now + 2 weeks 任務在兩週後運行
Fixed at midnight 任務在午夜運行
Fixed at 10:30pm 任務在晚上10點30分
注意:linux默認爲不啓動,而ubuntu默認爲啓動的。檢查是否啓動,用service atd檢查語法,用service atd status檢查atd的狀態,用service atd start啓動atd服務。
查看at執行的具體內容:通常位於/var/spool/at目錄下面, 用vi打開,在最後一部分就是你的執行程序
參數詳解
-V : 印出版本編號
-q : 使用指定的佇列(Queue)來儲存,at 的資料是存放在所謂的 queue 中,使用者能夠同時使用多個 queue,而 queue 的編號爲 a, b, c... z 以及 A, B, ... Z 共 52 個
-m : 即便程序/指令執行完成後沒有輸出結果, 也要寄封信給使用者
-f file : 讀入預先寫好的命令檔。使用者不必定要使用交談模式來輸入,能夠先將全部的指定先寫入檔案後再一次讀入
網絡應用
-l : 列出全部的指定 (使用者也能夠直接使用 atq 而不用 at -l)
-d : 刪除指定 (使用者也能夠直接使用 atrm 而不用 at -d)
-v : 列出全部已經完成但還沒有刪除的指定
刪除任務
atrm 2
三天後的下午 5 點鍾執行 /bin/ls :
at 5pm 3 days /bin/ls
三個星期後的下午 5 點鍾執行 /bin/ls :
at 5pm 2 weeks /bin/ls
明天的 17:20 執行 /bin/date :
at 17:20 tomorrow /bin/date
1999 年的最後一天的最後一分鐘印出 the end of world !
at 23:59 12/31/1999 echo the end of world !
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這個服務已經在進程裏面了,咱們就能夠用這個服務了
-------------------------------------
以Linux下定時備份mysql爲例說明下
寫一個簡單的mysql備份shell腳本
vi
#!/bin/sh
da=`date +%Y%m%d%H%M%S`
mysqldump -u root -pdongjj --all-database>/root/mysqlbakup/$da
保存爲 mysqlbak.sh
而後crontab-e
0 3 * * * /root/mysqlbak.sh
保存退出
相關命令----------------
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用標準輸入替代目前的crontab.
crontab-1[user]-列出用戶目前的crontab.
crontab-e[user]-編輯用戶目前的crontab.
crontab-d[user]-刪除用戶目前的crontab.
crontab-c dir- 指定crontab的目錄。
crontab文件的格式:M H D m d cmd.
M: 分鐘(0-59)。
H:小時(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期內的天(0~6,0 表示星期天)
除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*表明全部的取值範圍內的數字,"/"表明每的意思,"*/5"表示每5個單位,"-"表明從某個數字到某個數字,","分開幾個離散的數字。
每次編輯完某個用戶的cron設置後,cron自動在/var/spool/cron下生成一個與此用戶同名的文件,此用戶的cron信息都記錄在這 個文件中,這個文件是不能夠直接編輯的,只能夠用crontab -e 來編輯。cron啓動後每過一份鍾讀一次這個文件,檢查是否要執行裏面的命令。所以此文件修改後不須要從新啓動cron服務。
查看crontab 執行的日誌,能夠在/var/log/cron* 查看,或者 0 3 * * * /root/mysqlbak.sh >/var/log/mysqlbak.log 2>&1 把日誌定向出來查看。