CGI-BBS > CGI > Perl > Perlについてperlスクリプトをcronで実行したい。


カレッヂ
カレッヂ


質問者 けんいち  投稿日 5/28(水) 17:51:39
初めましてけんいちと申します。 

-------------backup.pl------------------------------- 
#!/usr/bin/perl 

system("tar cvf data.tar aaaa.dat") 
------------------------------------------- 

このようなPerlスクリプトで、定期的にdata.tarという圧縮ファイル 
を作ろうとcronでPerlスクリプトを動かそうとしています。 

------crontab-------------------------------------------- 
0 * 1 * * * /usr/bin/perl /home/***/public_html/backup.pl 
--------------------------------------------------------- 

cronは動いているようなのですが、data.tarは作成されません。 
何か原因があるでしょうか? 

プロバイダ参照:http://www.bcp.com
サーバのOS:UNIXサーバ
パソコンのOS:WinNT系
エディタ:秀丸
FTPソフト:windows FTP
サーバ移転:していない
改造:(未選択)
CGI習熟度:(未選択)

回答者 やまだ  [削除]  投稿日 5/29(木) 02:16:52
>-------------backup.pl------------------------------- 
>#!/usr/bin/perl 
せっかくここで、書いてるんだから、実行権限を与えて、下のように/usr/bin/perlとしないでもいいような
きがします。

>
>system("tar cvf data.tar aaaa.dat") 
>------------------------------------------- 
ここも
0 1 * * * cd /home/${USER}/public_html && tar cvf data.tar aaa.dat
でいいような。

>
>このようなPerlスクリプトで、定期的にdata.tarという圧縮ファイル 
>を作ろうとcronでPerlスクリプトを動かそうとしています。 
>
>------crontab-------------------------------------------- 
>0 * 1 * * * /usr/bin/perl /home/***/public_html/backup.pl 
>--------------------------------------------------------- 
ここが一番問題。
0 1 * * * command
とすると1時というように、5つのスケジュール指定項目と最後にコマンドを書くはずです。

>
>cronは動いているようなのですが、data.tarは作成されません。 
>何か原因があるでしょうか? 

回答者 まさ  [削除]  投稿日 5/29(木) 10:03:45
問題を切り分けてみればどうでしょうか?

backup.plを単独で動かしてdata.tarができるようならcrontabの記述ミスか
cronデーモンが動いていないか適切な権限が与えられていないのでしょう。

data.tarができないようならbackup.plの記述ミスです。

これで少なくともcron側がおかしいのか、plスクリプト側がおかしいのかが
かわります。

質問者 けんいち  [削除]  投稿日 5/29(木) 11:05:43
水野です。
皆さん、返信ありがとうございました。

コマンドラインでの実行はうまく行っていたので、
Perlスクリプトを、絶対パスにしたところ、解決されました。

目的は圧縮ですのでgzipを使った圧縮に変更してみます。

ありがとうございました。

このページは終了したので返信(回答)は書きこめません
 


Web裏技