作者 主題: crontab無法自動執行、、  (閱讀 11588 次)

0 會員 與 1 訪客 正在閱讀本文。

cefiro

  • 懷疑的國中生
  • **
  • 文章數: 49
    • 檢視個人資料
crontab無法自動執行、、
« 於: 2002-05-10 15:03 »
我有設一CRONTAB,但是,時間到,卻沒有去執行,不知道是哪出了問題???

kenny

  • 訪客
crontab無法自動執行、、
« 回覆 #1 於: 2002-05-10 16:14 »
將環境﹑步驟﹑內容﹑目的都說說﹖

吉姆

  • 懷疑的國中生
  • **
  • 文章數: 63
    • 檢視個人資料
crontab無法自動執行、、
« 回覆 #2 於: 2002-09-12 12:38 »
我也遇到此問題,FreeBSD 4.5
/etc/crontab內容:
00 3 * * * root /home/cron/bakapache.sh
但到了3點就是不會run?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17477
    • 檢視個人資料
    • http://www.study-area.org
crontab無法自動執行、、
« 回覆 #3 於: 2002-09-12 12:50 »
/etc/crontab 要是修改了,
請重新跑 crond 這個 daemon

kidz

  • 憂鬱的高中生
  • ***
  • 文章數: 96
    • 檢視個人資料
crontab無法自動執行、、
« 回覆 #4 於: 2002-09-12 14:59 »
引述: "netman"
/etc/crontab 要是修改了,
請重新跑 crond 這個 daemon


FreeBSD下改/etc/crontab不需要重跑cron吧!

先看看/home/cron/bakapache.sh裡面shell Script內容執行檔是否在path內
因為/etc/crontab內定的PATH環境變數預設只有
/etc:/bin:/sbin:/usr/bin:/usr/sbin
如果確定cron是可以正確執行的只有某些不能跑
通常是這個問題.....

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17477
    • 檢視個人資料
    • http://www.study-area.org
crontab無法自動執行、、
« 回覆 #5 於: 2002-09-12 15:14 »
引述: "kidz"
引述: "netman"
/etc/crontab 要是修改了,
請重新跑 crond 這個 daemon


FreeBSD下改/etc/crontab不需要重跑cron吧!


sorry,我從沒跑過 freebsd 。
我上面的建議請 freebsd 用戶忽略。

吉姆

  • 懷疑的國中生
  • **
  • 文章數: 63
    • 檢視個人資料
crontab無法自動執行、、
« 回覆 #6 於: 2002-09-12 19:24 »
不行啊...學長請幫我....急啊...
我的/etc/crontab
# /etc/crontab - root's crontab for FreeBSD
#
# $Id: crontab,v 1.13 1996/01/06 22:21:37 ache Exp $
# From: Id: crontab,v 1.6 1993/05/31 02:03:57 cgd Exp
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/home/cron
HOME=/var/log
MAILTO="nm@manufacture.com.tw"
#
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun
#
# rotate log files every hour, if necessary
0       *       *       *       *       root    /usr/sbin/newsyslog
#
# backup
07      19      *       *       *       root    /home/cron/cron.sh var1

其中var1是丟給cron.sh的參數
cron.sh內容

#!/usr/local/bin/bash

#------ Configurations -------------------
dest=/home/cron
password=foobar
upload=1

case $@ in *freebsd*)
    cd /tmp
    rm -rf /tmp/sysinfo
    mkdir -p /tmp/sysinfo
    dmesg >sysinfo/dmesg
    ifconfig -a >sysinfo/ifconfig-a
    netstat -nr >sysinfo/netstat-nr
esac
tar -zcvf cron.tgz /tmp

並執行了
killall -9 cron && cron /etc/crontab
教一下學弟好嗎?謝謝

kidz

  • 憂鬱的高中生
  • ***
  • 文章數: 96
    • 檢視個人資料
crontab無法自動執行、、
« 回覆 #7 於: 2002-09-12 21:40 »
引述: "吉姆"
不行啊...學長請幫我....急啊...
我的/etc/crontab
# /etc/crontab - root's crontab for FreeBSD
#
# $Id: crontab,v 1.13 1996/01/06 22:21:37 ache Exp $
# From: Id: crontab,v 1.6 1993/05/31 02:03:57 cgd Exp
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/home/cron
HOME=/var/log
MAILTO="nm@manufacture.com.tw"
#
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun
#
# rotate log files every hour, if necessary
0       *       *       *       *       root    /usr/sbin/newsyslog
#
# backup
07      19      *       *       *       root    /home/cron/cron.sh var1

其中var1是丟給cron.sh的參數
cron.sh內容

#!/usr/local/bin/bash

#------ Configurations -------------------
dest=/home/cron
password=foobar
upload=1

case $@ in *freebsd*)
    cd /tmp
    rm -rf /tmp/sysinfo
    mkdir -p /tmp/sysinfo
    dmesg >sysinfo/dmesg
    ifconfig -a >sysinfo/ifconfig-a
    netstat -nr >sysinfo/netstat-nr
esac
tar -zcvf cron.tgz /tmp

並執行了
killall -9 cron && cron /etc/crontab
教一下學弟好嗎?謝謝


/var/log/cron
先看看你的東西是否被執行了............

吉姆

  • 懷疑的國中生
  • **
  • 文章數: 63
    • 檢視個人資料
crontab無法自動執行、、
« 回覆 #8 於: 2002-09-13 16:33 »
引用
Sep 13 15:55:00 dns CRON[21402]: (root) CMD (/usr/libexec/atrun)
Sep 13 16:00:00 dns CRON[21410]: (root) CMD (/usr/sbin/newsyslog)
Sep 13 16:00:00 dns CRON[21411]: (root) CMD (/usr/libexec/atrun)
Sep 13 16:05:00 dns CRON[21419]: (root) CMD (/usr/libexec/atrun)
Sep 13 16:10:00 dns CRON[21422]: (root) CMD (/usr/libexec/atrun)
Sep 13 16:15:00 dns CRON[21425]: (root) CMD (/usr/libexec/atrun)
Sep 13 16:20:00 dns CRON[21430]: (root) CMD (/usr/libexec/atrun)
Sep 13 16:25:00 dns CRON[21433]: (root) CMD (/usr/libexec/atrun)
Sep 13 16:30:00 dns CRON[21436]: (root) CMD (/usr/libexec/atrun)[/
color]
並沒有被執行,每天都要花2~3個鐘頭來try,快瘋了,學長請賜教。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17477
    • 檢視個人資料
    • http://www.study-area.org
crontab無法自動執行、、
« 回覆 #9 於: 2002-09-13 17:14 »
可以用下面方法先檢驗 crontab 是工作的:

*/2 * * * * root echo "Hello test"

我不確定 freebsd 是否需要重跑 crond ,若是 redhat  上,別忘了:

service crond restart

然後等 2 分鐘看 root 信箱。

若沒有,則檢查 crontab 的路逕和語法。
若有,請將 echo "Hello test" 換成一個 script :
*/2 * * * * root /root/test.sh
echo '#!/bin/bash' > /root/test.sh
echo 'echo "Hello test"' >> /root/test.sh
chmod +x /root/test.sh

再等測試結果。

吉姆

  • 懷疑的國中生
  • **
  • 文章數: 63
    • 檢視個人資料
crontab無法自動執行、、
« 回覆 #10 於: 2002-09-13 18:28 »
引用

# /etc/crontab - root's crontab for FreeBSD
#
# $Id: crontab,v 1.13 1996/01/06 22:21:37 ache Exp $
# From: Id: crontab,v 1.6 1993/05/31 02:03:57 cgd Exp
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
HOME=/var/log
MAILTO="jim@abc.com.tw"
#
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun
#
# rotate log files every hour, if necessary
0       *       *       *       *       root    /usr/sbin/newsyslog
#
# do daily/weekly/monthly maintenance
0       2       *       *       *       root    /etc/daily > /dev/null 2>&1
30      3       *       *       6       root    /etc/weekly > /dev/null 2>&1
30      5       1       *       *       root    /etc/monthly > /dev/null 2>&1
# custom command
*/2      5       1       *       *       root    echo "cron test"

接著執行:

killall -9 cron
cron /etc/crontab

以上動作做了快一百遍了,就是不見系統自行跑。[/quote]

damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
crontab無法自動執行、、
« 回覆 #11 於: 2002-09-13 20:59 »
剛剛實際試驗的結果
/etc/crontab
代碼: [選擇]

# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.21.2.3 2000/12/08 10:56:07 obrien Exp $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute hour mday month wday who command
#
*/5 * * * * root /usr/libexec/atrun
*/2     *       *       *       *       root    /usr/libexec/atrun
#
# rotate log files every hour, if necessary
0 * * * * root newsyslog
#
# do daily/weekly/monthly maintenance
1 3 * * * root periodic daily
15 4 * * 6 root periodic weekly
30 5 1 * * root periodic monthly
#
# time zone change adjustment for wall cmos clock,
# does nothing, if you have UTC cmos clock.
# See adjkerntz(8) for details.
1,31 0-5 * * * root adjkerntz -a

將所要執行的指令放在最底下無法執行,但移動到
代碼: [選擇]

*/5 * * * * root /usr/libexec/atrun

下方就可以正確的執行,我的版本是4.6.2 Release,不太確定原因,您試試看
/var/log/cron看看時間到有沒有正確執行

小穎

  • 俺是博士!
  • *****
  • 文章數: 1005
    • 檢視個人資料
crontab無法自動執行、、
« 回覆 #12 於: 2002-09-13 22:51 »
引述: "damon"
剛剛實際試驗的結果
/etc/crontab
代碼: [選擇]

# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.21.2.3 2000/12/08 10:56:07 obrien Exp $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute hour mday month wday who command
#
*/5 * * * * root /usr/libexec/atrun
*/2     *       *       *       *       root    /usr/libexec/atrun
#
# rotate log files every hour, if necessary
0 * * * * root newsyslog
#
# do daily/weekly/monthly maintenance
1 3 * * * root periodic daily
15 4 * * 6 root periodic weekly
30 5 1 * * root periodic monthly
#
# time zone change adjustment for wall cmos clock,
# does nothing, if you have UTC cmos clock.
# See adjkerntz(8) for details.
1,31 0-5 * * * root adjkerntz -a

將所要執行的指令放在最底下無法執行,但移動到
代碼: [選擇]

*/5 * * * * root /usr/libexec/atrun

下方就可以正確的執行,我的版本是4.6.2 Release,不太確定原因,您試試看
/var/log/cron看看時間到有沒有正確執行


我在想…會不會是有時間大小排序的問題存在?@@"

小奇

  • 活潑的大學生
  • ***
  • 文章數: 330
    • 檢視個人資料
crontab無法自動執行、、
« 回覆 #13 於: 2002-11-09 13:47 »
可不可以告訴我
0-59/5 * * * * 指令
請問前面的每一個各代表著什麼涵義可以告訴我嗎@@真的很想知道~

nicegsb

  • 懷疑的國中生
  • **
  • 文章數: 40
    • 檢視個人資料
crontab無法自動執行、、
« 回覆 #14 於: 2002-11-09 16:30 »
可不可以告訴我
0-59/5 * * * * 指令
請問前面的每一個各代表著什麼涵義可以告訴我嗎@@真的很想知道~

代碼: [選擇]
欄位                                             代表的意義
*                             Minute每小時的第几分鐘
*                             Hour每天的第几小時執行
*                             Day每個月的第几天
*                             Month每一年的第几個月
*                             DayofWeek每一周的第几天

0-59/5                      每12分鐘執行一次

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17477
    • 檢視個人資料
    • http://www.study-area.org
crontab無法自動執行、、
« 回覆 #15 於: 2002-11-09 19:41 »
> 0-59/5                      每12分鐘執行一次

應該是每 5 分鍾一次,與 */5 一樣。

harrier

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 1856
  • 性別: 男
    • 檢視個人資料
    • 國屬武裝兵
crontab無法自動執行、、
« 回覆 #16 於: 2002-11-09 20:13 »
引述: "netman"

我不確定 freebsd 是否需要重跑 crond ,若是 redhat  上,別忘了:


不好意思,根據實測,RHL 上面的 cron 從 RHL 7.0 之後,修改
crontab 便不用重新執行 crond。

6.x/5.x 太舊了,手邊已經沒機器測...
...90Net(90:1200/1203),GameNET(99:700/707),ALLNet(92:9200/3111),InfoNet(30:100/103)..MaximusCBCS(浮懷),AirNet,TenderNet,StormNet,FidoNet...
<<- www.nas.vg ->>

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17477
    • 檢視個人資料
    • http://www.study-area.org
crontab無法自動執行、、
« 回覆 #17 於: 2002-11-09 20:41 »
引述: "harrier"
引述: "netman"

我不確定 freebsd 是否需要重跑 crond ,若是 redhat  上,別忘了:


不好意思,根據實測,RHL 上面的 cron 從 RHL 7.0 之後,修改
crontab 便不用重新執行 crond。

6.x/5.x 太舊了,手邊已經沒機器測...



應該是:
1) 若用 crontab -e 修改 spool 中的 user crontab,不用重跑 crond 。
2) 若是修改 /etc/crontab ,請重跑 crond ,或送 HUP signal 。

nicegsb

  • 懷疑的國中生
  • **
  • 文章數: 40
    • 檢視個人資料
應該是每 5 分鍾一次
« 回覆 #18 於: 2002-11-09 21:33 »
netman
     
        謝謝你的糾正﹐我下次回復之前不明的地方會測試一下﹐各位學兄﹐學友不好意思﹗

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17477
    • 檢視個人資料
    • http://www.study-area.org
crontab無法自動執行、、
« 回覆 #19 於: 2002-11-09 22:18 »
不要不好意思啊~~~ 繼續保持回答就對了。

若你不說,或許你還帶著原有的錯誤。這道理,也適用在我身上。現在,你或許知道我為甚麼我那麼喜歡討論技述了吧。其一的原因就是:
    若不說,我永遠不知我錯在哪裡。

VBird

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 1516
    • 檢視個人資料
    • http://linux.vbird.org
crontab無法自動執行、、
« 回覆 #20 於: 2002-11-10 00:53 »
引述: "netman"
應該是:
1) 若用 crontab -e 修改 spool 中的 user crontab,不用重跑 crond 。
2) 若是修改 /etc/crontab ,請重跑 crond ,或送 HUP signal 。

是嗎?
但是我在 Red Hat 6.x, Red Hat 7.x, Mandrake 9.0, OpenLinux 3.1.1 這幾個
distribution 當中,修改了 /etc/crontab之後,重來沒有重新啟動 crond 或者 HUP signal 到 cron !
也都可以正確的跑我的 cron 呢!
然後 man cron 之後,擷取一段內容說明:
代碼: [選擇]
Additionally, cron checks each minute to see if its  spool  directory's
modtime  (or  the  modtime on /etc/crontab) has changed, and if it has,
cron will then examine the modtime on all  crontabs  and  reload  those
which have changed.  Thus cron need not be restarted whenever a crontab
file is modified.  Note that the Crontab(1) command updates the modtime
of the spool directory whenever it changes a crontab.
也說明不需要重新啟動 crond 啊!

VBird

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 1516
    • 檢視個人資料
    • http://linux.vbird.org
crontab無法自動執行、、
« 回覆 #21 於: 2002-11-10 00:56 »
例行性命令也可以到這裡來看看如何設定吧!
http://linux.vbird.idv.tw/linux_redhat7.2/40cron.html

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17477
    • 檢視個人資料
    • http://www.study-area.org
crontab無法自動執行、、
« 回覆 #22 於: 2002-11-10 01:21 »
真的耶~~! 感謝鳥哥!

若不說,我永遠不知我錯在哪裡...  ^_^