成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)服務(wù),網(wǎng)站設(shè)計(jì),網(wǎng)站托管維護(hù)等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競(jìng)爭(zhēng)對(duì)手中脫穎而出成都創(chuàng)新互聯(lián)。

1,linux里面crontab e使用方法
你好 使用vi 命令打開配置文件,按下I鍵 進(jìn)入插入模式 定位到需要到替換的資源后面 輸入2即可。在摁:輸入 wq! 強(qiáng)制寫入保存退出!更多關(guān)于VI編輯器的使用方法,使用技巧 推薦你百度搜索《linux就該這么學(xué)》!2,UNIX下crontab 命令
你問題描述的不太清楚如果你用命令 crontab去添加自己的定時(shí)器的話,那么它其實(shí)真是修改的就是/var/spool/cron/crontabs文件夾底下的文件,跟你直接編譯該文件的效果一樣,之所以有這個(gè)命令是為了方便使用,最終效果都是一樣的。首先crontab -e會(huì)檢查你寫的格式是否符合crontab的要求。你手工編輯的abc.sys就只能自己保證格式了。其次它會(huì)在默認(rèn)的目錄下生成你這個(gè)用戶自己的crontab文件。如果你能保證你手工編輯的abc.sys沒有問題,也可以用crontab 指定你這個(gè)用戶使用這個(gè)abc.sys作為本用戶的crontab文件。 redhat linux下更改默認(rèn)crontab 配置文件的命令是:crontab -u user file例如:crontab -u user1 abc.sys3,linux中怎么開啟crontab
的語(yǔ)法:分 時(shí) 日 月 周 命令。例子:00 08 * * * mkdir /home/root/newfolder這個(gè)例子的意思是在每天的早上八點(diǎn)鐘的時(shí)候創(chuàng)建一個(gè)文件夾newfolder。*是什么意思?碰上*系統(tǒng)就是一直執(zhí)行。如果*在分的地方那就危險(xiǎn)了,意思就是每分鐘都執(zhí)行一次。如果你想每天的早上八點(diǎn)和晚上八點(diǎn)執(zhí)行一個(gè)次的話??梢赃@樣寫:00 8,20 * * *。這樣就是每天的早上八點(diǎn)和晚上八點(diǎn)都執(zhí)行一次,其中逗號(hào)是表示多選。同樣的,如果想指定日期和星期幾執(zhí)行的話都是可以用逗號(hào)可以指定指定!例如:0,5,10,15 8,20 1,10,20 1,6,12 *。這個(gè)意思大家應(yīng)該能夠明白!只要按:分 時(shí) 日 月 周只要的規(guī)律去看就明白了。如何查看某個(gè)用戶下面的crontab列表呢?命令如下:crontab -l -u oracle 這個(gè)命令是查看oracle用戶下面的crontab任務(wù)crontab -l 這個(gè)命令是查看root自身的crontab任務(wù)。如何編輯crontab呢?命令如下:crontab -e 這個(gè)是編輯root的crontab任務(wù)。編輯的時(shí)候和vi是一樣的。crontab -e -u oracle 編輯oracle用戶的crontab任務(wù)。4,如何配置crontab每秒執(zhí)行一次腳本
crontab -e之后編輯,30 21 */2 * * 加上待執(zhí)行的操作這個(gè)示例是每2天的21:30執(zhí)行相應(yīng)的操作詳細(xì)看下面的介紹(轉(zhuǎn)自)基本格式 : * * * * * command 分 時(shí) 日 月 周 命令 第1列表示分鐘1~59 每分鐘用*或者 */1表示 第2列表示小時(shí)1~23(0表示0點(diǎn)) 第3列表示日期1~31 第4列表示月份1~12 第5列標(biāo)識(shí)號(hào)星期0~6(0表示星期天) 第6列要運(yùn)行的命令 crontab文件的一些例子: 30 21 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每晚的21:30重啟apache。 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每月1、10、22日的4 : 45重啟apache。 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每周六、周日的1 : 10重啟apache。 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每星期六的11 : 00 pm重啟apache。 * */1 * * * /usr/local/etc/rc.d/lighttpd restart 每一小時(shí)重啟apache * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 晚上11點(diǎn)到早上7點(diǎn)之間,每隔一小時(shí)重啟apache 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 每月的4號(hào)與每周一到周三的11點(diǎn)重啟apache 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart 一月一號(hào)的4點(diǎn)重啟apache 名稱 : crontab 使用權(quán)限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab。 crontab-[-u user]-用標(biāo)準(zhǔn)輸入替代目前的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:小時(shí)(0-23)。 D:天(1-31)。 m: 月(1-12)。 d: 一星期內(nèi)的天(0~6,0為星期天)。 cmd要運(yùn)行的程序,程序被送入sh執(zhí)行,這個(gè)shell只有USER,HOME,SHELL這三個(gè)環(huán)境變量 說明 : crontab 是用來(lái)讓使用者在固定時(shí)間或固定間隔執(zhí)行程序之用,換句話說,也就是類似使用者的時(shí)程表。-u user 是指設(shè)定指定 user 的時(shí)程表,這個(gè)前提是你必須要有其權(quán)限(比如說是 root)才能夠指定他人的時(shí)程表。如果不使用 -u user 的話,就是表示設(shè) 定自己的時(shí)程表。 參數(shù) : crontab -e : 執(zhí)行文字編輯器來(lái)設(shè)定時(shí)程表,內(nèi)定的文字編輯器是 VI,如果你想用別的文字編輯器,則請(qǐng)先設(shè)定 VISUAL 環(huán)境變數(shù) 來(lái)指定使用那個(gè)文字編輯器(比如說 setenv VISUAL joe) crontab -r : 刪除目前的時(shí)程表 crontab -l : 列出目前的時(shí)程表 crontab file [-u user]-用指定的文件替代目前的crontab。 時(shí)程表的格式如下 : f1 f2 f3 f4 f5 program 其中 f1 是表示分鐘,f2 表示小時(shí),f3 表示一個(gè)月份中的第幾日,f4 表示月份,f5 表示一個(gè)星期中的第幾天。program 表示要執(zhí) 行的程序。 當(dāng) f1 為 * 時(shí)表示每分鐘都要執(zhí)行 program,f2 為 * 時(shí)表示每小時(shí)都要執(zhí)行程序,其馀類推 當(dāng) f1 為 a-b 時(shí)表示從第 a 分鐘到第 b 分鐘這段時(shí)間內(nèi)要執(zhí)行,f2 為 a-b 時(shí)表示從第 a 到第 b 小時(shí)都要執(zhí)行,其馀類推 當(dāng) f1 為 */n 時(shí)表示每 n 分鐘個(gè)時(shí)間間隔執(zhí)行一次,f2 為 */n 表示每 n 小時(shí)個(gè)時(shí)間間隔執(zhí)行一次,其馀類推當(dāng) f1 為 a, b, c,... 時(shí)表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b, c,... 時(shí)表示第 a, b, c...個(gè)小時(shí)要執(zhí)行,其馀類推 使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab file 的方式來(lái)設(shè)定時(shí)程表。 例子 : #每天早上7點(diǎn)執(zhí)行一次 /bin/ls : 0 7 * * * /bin/ls 在 12 月內(nèi), 每天的早上 6 點(diǎn)到 12 點(diǎn)中,每隔3個(gè)小時(shí)執(zhí)行一次 /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 < /tmp/maildata 每月每天的午夜 0 點(diǎn) 20 分, 2 點(diǎn) 20 分, 4 點(diǎn) 20 分....執(zhí)行 echo "haha" 20 0-23/2 * * * echo "haha" 注意 : 當(dāng)程序在你所指定的時(shí)間執(zhí)行后,系統(tǒng)會(huì)寄一封信給你,顯示該程序執(zhí)行的內(nèi)容,若是你不希望收到這樣的信,請(qǐng)?jiān)诿恳恍锌找桓裰?后加上 > /dev/null 2>&1 即可 例子2 : #每天早上6點(diǎn)10分 10 6 * * * date #每?jī)蓚€(gè)小時(shí) 0 */2 * * * date #晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí),早上8點(diǎn) 0 23-7/2,8 * * * date #每個(gè)月的4號(hào)和每個(gè)禮拜的禮拜一到禮拜三的早上11點(diǎn) 0 11 4 * mon-wed date #1月份日早上4點(diǎn) 0 4 1 jan * date 范例 $crontab -l 列出用戶目前的crontab.
5,crontab 命令介紹怎么用
任務(wù)調(diào)度的crond常駐命令crond 是linux用來(lái)定期執(zhí)行程序的命令。當(dāng)安裝完成操作系統(tǒng)之后,默認(rèn)便會(huì)啟動(dòng)此任務(wù)調(diào)度命令。crond命令每分鍾會(huì)定期檢查是否有要執(zhí)行的工作,如果有要執(zhí)行的工作便會(huì)自動(dòng)執(zhí)行該工作。而linux任務(wù)調(diào)度的工作主要分為以下兩類: 1、系統(tǒng)執(zhí)行的工作:系統(tǒng)周期性所要執(zhí)行的工作,如備份系統(tǒng)數(shù)據(jù)、清理緩存 2、個(gè)人執(zhí)行的工作:某個(gè)用戶定期要做的工作,例如每隔10分鐘檢查郵件服務(wù)器是否有新信,這些工作可由每個(gè)用戶自行設(shè)置Crontab是UNIX系統(tǒng)下的定時(shí)任務(wù)觸發(fā)器,其使用者的權(quán)限記載在下列兩個(gè)文件中:文件含義/etc/cron.deny該文件中所列的用戶不允許使用Crontab命令/etc/cron.allow該文件中所列的用戶允許使用Crontab命令/var/spool/cron/是所有用戶的crontab文件/var/spool/cron/crontabs/var/spool/cron/crontabsCrontab命令的格式為:crontab –l|-r|-e|-i [username],其參數(shù)含義如表一:參數(shù)名稱含義示例-l顯示用戶的Crontab文件的內(nèi)容crontabl –l-i刪除用戶的Crontab文件前給提示crontabl -ri-r從Crontab目錄中刪除用戶的Crontab文件crontabl -r-e編輯用戶的Crontab文件crontabl -e用戶所建立的Crontab文件存于/var/spool/cron中,其文件名與用戶名一致。 它的格式共分為六段,前五段為時(shí)間設(shè)定段,第六段為所要執(zhí)行的命令段, 格式如下:* * * * * 其時(shí)間段的含義如表二:段含義取值范圍第一段代表分鐘0—59第二段代表小時(shí)0—23第三段代表日期1—31第四段代表月份1—12第五段代表星期幾,0代表星期日0—6例:如果用戶的Crontab文件的內(nèi)容是:29 19 * * * echo its dinner time,則系統(tǒng)每天的19:29顯示its dinner time 示例(創(chuàng)建一個(gè)cron全過程,每分鐘都會(huì)在test.txt里輸入當(dāng)前時(shí)間):1. 以普通用戶登錄linux系統(tǒng)(我用的是CentOS4.1)2. $crontab –e 說明:系統(tǒng)默認(rèn)的編輯器是VIM,如果不是請(qǐng)加上以下shell: $EDITOR=vi $export EDITOR3. 輸入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM4. $su root5. $cd /etc/init.d6. ./crond restart下面看看看幾個(gè)具體的例子: ● 0 */2 * * * /sbin/service httpd restart 意思是每?jī)蓚€(gè)小時(shí)重啟一次apache● 50 7 * * * /sbin/service sshd start 意思是每天7:50開啟ssh服務(wù)● 50 22 * * * /sbin/service sshd stop 意思是每天22:50關(guān)閉ssh服務(wù)● 0 0 1,15 * * fsck /home 每月1號(hào)和15號(hào)檢查/home 磁盤● 1 * * * * /home/bruce/backup 每小時(shí)的第一分執(zhí)行 /home/bruce/backup這個(gè)文件● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm ● 30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30執(zhí)行一次ls命令參數(shù) : crontab -e : 執(zhí)行文字編輯器來(lái)設(shè)定時(shí)程表,內(nèi)定的文字編輯器是 VI,如果你想用別的文字編輯器,則請(qǐng)先設(shè)定 VISUAL 環(huán)境變數(shù)來(lái)指定使用那個(gè)文字編輯器(比如說 setenv VISUAL joe) crontab -r : 刪除目前的時(shí)程表 crontab -l : 列出目前的時(shí)程表 crontab file [-u user]-用指定的文件替代目前的crontab。時(shí)程表的格式如下 : f1 f2 f3 f4 f5 program 其中 f1 是表示分鐘,f2 表示小時(shí),f3 表示一個(gè)月份中的第幾日,f4 表示月份,f5 表示一個(gè)星期中的第幾天。program 表示要執(zhí)行的程序。 當(dāng) f1 為 * 時(shí)表示每分鐘都要執(zhí)行 program,f2 為 * 時(shí)表示每小時(shí)都要執(zhí)行程序,其馀類推 當(dāng) f1 為 a-b 時(shí)表示從第 a 分鐘到第 b 分鐘這段時(shí)間內(nèi)要執(zhí)行,f2 為 a-b 時(shí)表示從第 a 到第 b 小時(shí)都要執(zhí)行,其馀類推 當(dāng) f1 為 */n 時(shí)表示每 n 分鐘個(gè)時(shí)間間隔執(zhí)行一次,f2 為 */n 表示每 n 小時(shí)個(gè)時(shí)間間隔執(zhí)行一次,其馀類推 當(dāng) f1 為 a, b, c,... 時(shí)表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b, c,... 時(shí)表示第 a, b, c...個(gè)小時(shí)要執(zhí)行,其馀類推 使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab file 的方式來(lái)設(shè)定時(shí)程表。 crontab執(zhí)行java程序的問題:一 crontab使用注意:crontab -l查看該用戶的crontab配置,crontab -e編輯該用戶的crontab配置配置一般在末尾加上 2>&1表示錯(cuò)誤輸出(2)和標(biāo)準(zhǔn)輸出(1)一樣輸出到同一個(gè)由前面>>指定的地方如 15 14 * * * /sys_back/monitor.sh >>/sys_back/log/monitor.log 2>&1表示每天14:15執(zhí)行monitor.sh腳本,錯(cuò)誤和標(biāo)準(zhǔn)輸出都寫入monitor.log文件涉及到文件名時(shí)最好寫絕對(duì)路徑二 問題及解決shell腳本有echo語(yǔ)句,有java -jar執(zhí)行java程序。直接執(zhí)行腳本時(shí),一切順利,但是放到crontab中執(zhí)行時(shí),echo語(yǔ)句正常,java程序卻沒有執(zhí)行。1 網(wǎng)上查找,覺得應(yīng)該是環(huán)境變量的問題。說是要將java環(huán)境變量加入到shell腳本中,按照這個(gè)方法做,發(fā)現(xiàn)問題依然存在。百思不得其解。2 經(jīng)轉(zhuǎn)換角度,看java程序是否有問題。在java語(yǔ)句中直接加入打印語(yǔ)句,發(fā)現(xiàn)其在crontab日志中居然可以顯示。終于確定是java程序的問題。java程序功能很簡(jiǎn)單,就是一個(gè)語(yǔ)句java -Dosgi.console -Dosgi.configuration.area=./configuration -jar equinox.jar -console用來(lái)啟動(dòng)osgi框架。于是在shell腳本中不調(diào)用java程序,直接改為程序中的這一句,問題解決。但是又引發(fā)新的問題:直接java -jar會(huì)源源不斷的輸出osgi>到日志文件,導(dǎo)致日志文件越來(lái)越大。不可行。再想辦法解決。3 感覺還是相對(duì)路徑的問題。嘗試在crontab調(diào)用的腳本中用相對(duì)路徑向一個(gè)文件輸出一句話,發(fā)現(xiàn)失敗。(單獨(dú)執(zhí)行腳本沒問題)既然如此,是不是java程序中也不能用相對(duì)路徑呢。遂將./configuration及equinox.jar都用絕對(duì)路徑,再調(diào)試,終于成功,至此問題解決。但始終感覺在程序中用絕對(duì)路徑很不方便維護(hù)。三 附加問題及解決此腳本的作用就是判斷osgi程序是否在運(yùn)行,如果不運(yùn)行則啟動(dòng)。實(shí)現(xiàn)思路是ps -elf得到進(jìn)程id及狀態(tài),如果id不存在,則啟動(dòng),如果id存在但狀態(tài)不是運(yùn)行中(solaris為O,AIX為A),則殺掉原進(jìn)程重新啟動(dòng)。發(fā)現(xiàn)程序在運(yùn)行幾天后會(huì)自動(dòng)停掉,以為是java程序有問題,然而卻始終找不到問題在哪里。在解決上面問題時(shí),卻意外的發(fā)現(xiàn)可能不是java程序的問題。man ps時(shí)發(fā)現(xiàn),solaris中,進(jìn)程狀態(tài)除了O,還有S(sleeping) R(Runnable) Z(Zombie僵尸進(jìn)程)T(stopped),只有后兩種狀態(tài)下進(jìn)程才是有問題的,所以很可能是crontab執(zhí)行腳本時(shí),程序狀態(tài)非O就被殺掉,重啟時(shí)卻因?yàn)樯厦娴膯栴}沒成功。于是修改腳本,狀態(tài)是后兩種時(shí)才重啟。這個(gè)問題也解決了。我也是網(wǎng)上轉(zhuǎn)的,望采納
分享標(biāo)題:crontab設(shè)置,linux里面crontabe使用方法
當(dāng)前網(wǎng)址:http://sd-ha.com/article0/icheoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站導(dǎo)航、微信小程序、全網(wǎng)營(yíng)銷推廣、網(wǎng)站制作、用戶體驗(yàn)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)