perl script 在 cron & anacron 下不能執行的問題

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

perl script 在 cron & anacron 下不能執行的問題

文章hpeter » 週一 7月 09, 2007 6:09 pm

請問一下各位先進,小弟在 Ubuntu 下想使用 cron 來定期執行備份程式,不過我的 script 檔是用 perl 寫的,內容如下
代碼: 選擇全部
#!/usr/bin/perl


my $PATH = "/home/SVN_Backup";
my $COPYS = 4 ;
my $FILENAME = "SVN-" . "`date +%F`" . ".tar";

system("tar cvf /home/SVN_Backup/$FILENAME /usr/local/SVN_Repository/");
system("bzip2 -f -9 -v /home/SVN_Backup/$FILENAME");
system("chmod 700 -R /home/SVN_Backup");

open(pipe_ls_result, "ls $PATH |") || `echo "SVN Backup Error" >> /var/log/svn_backup.log`;
my @result = <pipe_ls_result> ;
close(pipe_ls_result);

@result = reverse @result;

if($#result >= $COPYS)
{
    for( $count = $COPYS ; $count <= $#result ; ++$count)
    {
        chomp( @result[$count] );
        unlink("$PATH/@result[$count]");
    }

}



使用 sudo 去跑是正常的,不過放在 /etc/cron.weekly 下之後不會跑,權限是 -rwxr-xr-x ,其他的script 都正常,就只有這個 perl script 不會動,請問一下有可能是什麼問題嗎?謝謝
hpeter
可愛的小學生
可愛的小學生
 
文章: 58
註冊時間: 週日 12月 07, 2003 7:13 pm

文章huki » 週二 7月 10, 2007 9:07 am

用小弟初淺的perl來看
程式應該沒什麼太大的問題
不知你cron.weekly是怎麼寫的
或許錯不是在程式而是在cron裡
Linux給我的感覺就是自由自在,沒有壓力
希望大家都能參與linux
變成linux世界的一份子
HuKi
頭像
huki
快樂的大學生
快樂的大學生
 
文章: 783
註冊時間: 週四 11月 28, 2002 7:27 am
來自: 家:中壢/公:桃園

文章hpeter » 週二 7月 10, 2007 9:48 am

不好意思 忘了附上 crontab
代碼: 選擇全部
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#



這個是 Ubuntu 裝好就有的 crontab, 因為我這工作一星期只要做一次,所以我放到 /etc/cron.weekly 的目錄下
hpeter
可愛的小學生
可愛的小學生
 
文章: 58
註冊時間: 週日 12月 07, 2003 7:13 pm

Re: perl script 在 cron & anacron 下不能執行的問題

文章高原之狼 » 週二 7月 10, 2007 7:59 pm

hpeter 寫:使用 sudo 去跑是正常的,不過放在 /etc/cron.weekly 下之後不會跑,權限是 -rwxr-xr-x ,其他的script 都正常,就只有這個 perl script 不會動,請問一下有可能是什麼問題嗎?謝謝

如果那个 perl script 的档案名是 xxx.pl 之类带后缀的,把 .pl 的后缀去掉试试看。
高原之狼
懵懂的國中生
懵懂的國中生
 
文章: 185
註冊時間: 週一 10月 28, 2002 5:54 am

文章hpeter » 週三 7月 11, 2007 9:05 am

謝謝二位先進,小弟的檔名是 xxx.pl 改成 xxx 就可以跑了 好神奇的問題 :Q
hpeter
可愛的小學生
可愛的小學生
 
文章: 58
註冊時間: 週日 12月 07, 2003 7:13 pm


回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客