作者 主題: 我寫了兩個排程,但卻沒每天自已執行,是有什麼該注意而沒注意的  (閱讀 11271 次)

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

whc5678

  • 懷疑的國中生
  • **
  • 文章數: 52
    • 檢視個人資料
應該不用重開吧

cat /etc/crontab

30 2 * * * root /back/backupdaily.sh
30 3 * * * root /etc/init.d/ftp-lifeshow.sh

抄鳥哥的這個的
例題:假如每五分鐘需要執行 /home/dmtsai/test.sh 一次,又該如何?
答:
同樣使用 crontab -e 進入編輯:
*/5 * * * * /home/dmtsai/test.sh

Pail

  • 俺是博士!
  • *****
  • 文章數: 1040
  • 性別: 男
    • 檢視個人資料
應該要看看 那兩隻  shell script 裡頭 的路徑問題.
Pail Luo.
Email: pail.luo@gmail.com

廉價勞工

  • 活潑的大學生
  • ***
  • 文章數: 213
    • 檢視個人資料
手動執行一次
/back/backupdaily.sh
/etc/init.d/ftp-lifeshow.sh

有成功嗎?
檢查script中是否也有用到需要絕對路徑的指令
錢少、事多、離家遠…
位低、權輕、責任重…

長江一號

  • 懷疑的國中生
  • **
  • 文章數: 32
    • 檢視個人資料
在script中適當的加些東東偵錯, 比如:
echo 1 >> /tmp/temp.log
指令...
echo 2 >> /tmp/temp.log
指令...

這樣自己 Debug 不就方便多了, 不用問人啦.

pippeng

  • 活潑的大學生
  • ***
  • 文章數: 329
  • 性別: 男
    • 檢視個人資料
    • IT Ranger
應該不用重開吧

cat /etc/crontab

30 2 * * * root /back/backupdaily.sh
30 3 * * * root /etc/init.d/ftp-lifeshow.sh

抄鳥哥的這個的
例題:假如每五分鐘需要執行 /home/dmtsai/test.sh 一次,又該如何?
答:
同樣使用 crontab -e 進入編輯:
*/5 * * * * /home/dmtsai/test.sh

你為什麼跑去/etc/crontab  ??
人家鳥哥上明明寫 crontab -e
用心用心再用心

whc5678

  • 懷疑的國中生
  • **
  • 文章數: 52
    • 檢視個人資料
手動有成功哦… 謝謝各位,我想應該有沒注意的地方

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
1. 這跟 /etc/crontab or crontab -e 那個對一點關系都沒有,不要指鹿為馬。
2. scripts 裡所使用到的程式,有沒有把路徑也填上去? 一般而言 crontab 執行的時候,預設的PATH可不像我們在shells 下那麼齊全。

長江一號

  • 懷疑的國中生
  • **
  • 文章數: 32
    • 檢視個人資料
原本的 Unix 跟各家的 Linux 的 cron 是放在
/var/spool/cron/crontabs/(username)
因為安全性的問題, user 的資料像 email 一般不能讀取非自身的資料.
請問是那一家 Linux 套件? 把 crontab 放在 /etc
套件商再亂搞下去, 安全性可能會輸給 Windows

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
能不能請教一下,那一家的Linux 沒有 /etc/crontab ?

長江一號

  • 懷疑的國中生
  • **
  • 文章數: 32
    • 檢視個人資料
能不能請教一下,那一家的Linux 沒有 /etc/crontab ?
注重安全性的都沒有, 為了讓不懂的容易入門的就有, 有如MS的手法, 先賣了再說, 安全跟標準其次, 方便第一

yoww

  • 活潑的大學生
  • ***
  • 文章數: 431
    • 檢視個人資料
    • 唉呦~MIS先生
能不能請教一下,那一家的Linux 沒有 /etc/crontab ?
注重安全性的都沒有, 為了讓不懂的容易入門的就有, 有如MS的手法, 先賣了再說, 安全跟標準其次, 方便第一
我也很好奇哪家的LINUX沒有/etc/crontab?
我用過的RH跟CentOS都是/etc/crontab

可否請長江大大提供一下哪套LINUX那麼注重安全性?
唉呦~MIS先生 http://i-yow.blogspot.com/
寶貝的天空      http://3-baby.blogspot.com/

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
hum... 長江一號
我會請教有那一套會沒有/etc/crontab 是很含緒的說法....

你真的清楚 /etc/crontab 跟 end user 的crontab 用使用時機有什麼不同嗎?

hoyo

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 4045
  • 性別: 男
  • 有需要的時候,學習就不會分階段。
    • 檢視個人資料
    • 樂咖黑電腦學習網
或許檔案存放的位置真的會影響安全性,
不過影響的程度應該是「微乎其微」,

以 DNS 舉例,
目前的 Linux 都將檔案隔離在 chroot 之內,
可是小弟的主機還是放在 /etc 下,
改用 FreeBSD 的五年都沒被入侵,
所以如果不能提出「具體」的實證,
那這件事情就只能當作「八卦」看待了。
受人與魚,不如授人與漁
上海自來水來自海上;倫敦好奇人奇好敦倫

長江一號

  • 懷疑的國中生
  • **
  • 文章數: 32
    • 檢視個人資料
都用這麼強硬的口氣, 發問或討論. 看來我先封口好了.
教會了你們我也不會有好處的, 更相信這半瓶醬油很難裝得滿.

日京三子

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 8827
    • 檢視個人資料
    • http://www.24online.cjb.net
都用這麼強硬的口氣, 發問或討論. 看來我先封口好了.
教會了你們我也不會有好處的, 更相信這半瓶醬油很難裝得滿.

評語:

腦殘最可怕, 尤其是自以為是的態度導致的腦殘病變危害更深.

----
還是多多去戶外走走, 對身體比較好一些.
哈克不愛的多合一輸入平台----->新香草口味
過去的時間不斷流逝,抹去的眼淚已成追憶;
乾枯的雙手無力阻止,再會了我遠去的曾經。

手槍鵝

  • 訪客
誰的語氣強硬?怪怪!還是我皮太厚,完全沒反應?

到現在還不清楚樓主怎麼搞出來還是怎麼搞定的,諸位大德先稍安,如果有人

1. vi /etc/crontab (vi /var/spool/cron/crontabs/foo)

還是

2. vi沒裝

還是

3. cronatb editor 沒指定

大家再替他診斷看看。

三天連假,祝大家假期愉快。
« 上次編輯: 2008-10-09 21:15 由 手槍鵝 »

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
那位是軟軟幫跑來亂的吧~~
如果在/etc/crontab裡面設定沒用的話...
先試著把程式放在/etc底下的cron.xxx目錄裡,
然後看看/var/log/cron.log有沒有跑....

另外chkconfig一下看看crond有沒有設定開機就啟動.

whc5678

  • 懷疑的國中生
  • **
  • 文章數: 52
    • 檢視個人資料
只是問一個簡單的問題,引起爭論,真不好意思
因為到現在還沒解決,目前還是每天手動備份
請問最後一個大大的提問,如何檢查,開機就執行

手槍鵝

  • 訪客
請問,你是如何編輯'排程'?

whc5678

  • 懷疑的國中生
  • **
  • 文章數: 52
    • 檢視個人資料
[root@db daily]# chkconfig
NetworkManager  0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
acpid           0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
anacron         0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
atd             0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
auditd          0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
avahi-daemon    0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
bluetooth       0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
btseed          0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
bttrack         0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
capi            0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
cpuspeed        0:??  1:? ? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
crond           0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
cups            0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
dund            0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
firstboot       0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
fuse            0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
gpm             0:??  1:?? 2:? ? 3:? ? 4:? ? 5:??  6:??
haldaemon       0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
httpd           0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
ip6tables       0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
iptables        0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
irda            0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
irqbalance      0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
isdn            0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
kerneloops      0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
lm_sensors      0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
mdmonitor       0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
messagebus      0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
microcode_ctl   0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
multipathd      0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
mysqld          0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
netconsole      0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
netfs           0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
netplugd        0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
network         0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
nfs             0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
nfslock         0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
nscd            0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
ntpd            0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
ntpdate         0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
pand            0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
pcscd           0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
psacct          0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
rdisc           0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
restorecond     0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
rpcbind         0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
rpcgssd         0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
rpcidmapd       0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
rpcsvcgssd      0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
rsyslog         0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
saslauthd       0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
sendmail        0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
setroubleshoot  0:??  1:?? 2:?? 3:? ? 4:? ? 5:? ?  6:??
smartd          0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
smolt           0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
snmpd           0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
snmptrapd       0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
sshd            0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
udev-post       0:??  1:? ? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
webmin          0:??  1:?? 2:? ? 3:? ? 4:? ? 5:? ?  6:??
winbind         0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
wpa_supplicant  0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??
ypbind          0:??  1:?? 2:?? 3:?? 4:?? 5:??  6:??

看不懂。
我的排程很簡單呀如下
[root@db daily]# cat backupdaily.sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

# 0. Get the date messages and backup directory
day=`date +%Y-%m-%d`
basedir="/back/backup/daily"

# 1. MySQL  ( PATH = /var/lib/mysql )
/etc/rc.d/init.d/mysqld stop
cd /var/lib
tar -zcf "$basedir"/mysql."$day".tar.gz mysql 2> /dev/null
/etc/rc.d/init.d/mysqld start
---------------------------------------------------------------------------------------------
[root@db daily]# cat ftp-lifeshow.sh
#!/bin/bash -x

###################################################################

host="139.175.160.243"
id="lifeshow"
pw='lifeshow'


basedir="/back/backup/daily"
remodir="/"

day=`date +%Y-%m-%d`
filename="mysql."$day".tar.gz"

ftp -n "$host" > "$basedir"/"$filename".log 2>&1 <<EOC
user    $id         $pw
binary
cd      /back/backup/daily
put     "mysql."$day".tar.gz"
bye
EOC


手槍鵝

  • 訪客
排程跟script不一樣喔~

$ man cron

廉價勞工

  • 活潑的大學生
  • ***
  • 文章數: 213
    • 檢視個人資料
該不會是cron中設定的路徑跟實際路徑檔案位置不同 =.=?

30 2 * * * root /back/backupdaily.sh
30 3 * * * root /etc/init.d/ftp-lifeshow.sh

[root@db daily]# cat backupdaily.sh
[root@db daily]# cat ftp-lifeshow.sh

還是貼個log來看看比較清楚
錢少、事多、離家遠…
位低、權輕、責任重…

手槍鵝

  • 訪客
所以請樓主清楚說明,

1. 您是如何編輯排程

2. 您的script可以正確在shell下成功運作嗎? (包括script內容)

有了明確的說明,相信樓上諸位都很願意替您下針!不然,再多的揣測也是沒命中要害。

--

小弟已經把塵封多年的腳踏車輪條磨得金光強強滾了~

lawrence.pan

  • 可愛的小學生
  • *
  • 文章數: 5
    • 檢視個人資料
backupdaily.sh
代碼: [選擇]
#!/bin/sh
day=`date +%Y-%m-%d`
basedir="/tmp/backup/daily"

        /etc/rc.d/init.d/mysqld stop && sleep 3

        cd /var/lib/ && tar -cvf $basedir/mysql-$day.tar mysql > /dev/null 2>&1

        /etc/rc.d/init.d/mysqld start

        exit

ftp-lifeshow.sh

代碼: [選擇]
#!/bin/sh

host="10.10.10.10"
id="xxx"
pw="xxx"

basedir="/tmp/backup/daily"

day=`date +%Y-%m-%d`
filename="mysql-$day.tar"

function transfter (){

/usr/bin/expect -c "
               
                set timeout 86400
                spawn ftp -n $host
               
                expect \"ftp>\" { send \"user $id \r\"}
                expect \"Password:\" {send \"$pw\r\"}
                expect \"ftp>\" { send \"lcd $basedir\r\"}
                expect \"ftp>\" { send \"put $filename\r\"}
                expect \"complete\" { send \"bye\r\"}
               
"
}

        transfter > $basedir/$filename.log


exit

service crond restart
chkconfig crond on

vi /etc/crontab
# add cron
30 2 * * * root sh /root/backupdaily.sh
30 3 * * * root sh /root/ftp-lifeshow.sh

我試這樣OK ,你試試吧。



« 上次編輯: 2008-10-15 21:50 由 lawrence.pan »

shen36930

  • 懷疑的國中生
  • **
  • 文章數: 64
    • 檢視個人資料
差異點應該在
編輯crontab是重啟系統執行時會run
不然就要service crond restart

執行crontab -e
編輯完畢後就會啟動
crontab -e內容在個人家目錄下

樓主應該沒重啟系統和service crond restart

whc5678

  • 懷疑的國中生
  • **
  • 文章數: 52
    • 檢視個人資料
不然朝 crontab 是不是失去功用來想 ,因為service crond restart 確定有啟用,比如要跑什麼指令,怎麼寫,讓他每分鐘跑一次,看 crontab 是不是真的掛了

whc5678

  • 懷疑的國中生
  • **
  • 文章數: 52
    • 檢視個人資料
如果真的無法解決,有其他軟體可以下載來跑嗎??請問各位,謝謝