system management
1752717 メンバー
5910 オンライン
108789 解決策
新規ポスト

cronでスクリプトを動かしたい

 
sf_1
新しいメンバー

cronでスクリプトを動かしたい

cronでいろいろなスクリプトを起動させたいのですが、指定した時間にスクリプトが起動しません。

プロセスは/usr/bin/cronで動作しているのですが、何故スクリプトが起動しないのかがわかりません。どなたか知恵を貸してください。
9件の返信9
S_K
頻繁なアドバイザー

cronでスクリプトを動かしたい

是非お力になれたらと思うのですが、この情報だけでは状況が正しく理解できません。

状況を正しく理解するために、お力をお貸しいただけませんでしょうか。

> 何故スクリプトが起動しないのかがわかりません。

とりあえず、cronを設定したユーザ宛にメールでcronのログが行っているかもしれませんので、その内容を確認してみてください。

また、他にわかる情報があれば教えてください。

/var/adm/cron/log にはどのように出力されていますか?
RSI??
新しいメンバー

cronでスクリプトを動かしたい

あれ、/usr/sbin/cronじゃありませんでしたっけ?

それはともかく、

・cron.allowファイルへの記載

・実行ファイルそのものに実行権があるかどうか?

あたりをチェックされては?
uhyo
貴重なコントリビューター

cronでスクリプトを動かしたい

この質問は指定時間以外に動いてしまったという

質問ですか?それとも、根本的にスクリプトが

起動されていないという質問ですか?

後者の場合、どのようにしてスクリプトが起動

してないと判断されましたか?

シェルの中でtouchなどのデバッグ文をいれて確かめられましたか?もしくはcronのlogファイルをみて

確認されましたか?

まず試しに、date、touchなどの簡単なコマンドを

cronで行って正しく実行されているか確認してみてはいかがでしょうか?また、メールでcronのエラー通知は届いていませんか?

現時点ではなんともいえないですが、私が

自分の経験から思いつくのは以下のような

ことです。

・cron起動中にシステムクロックが大幅に変更

 された

・シェルスクリプトをcshで作っていて、実行時に

 .cshrcが読み込まれ、そこでターミナル設定が

 されていてエラーとなりその後の処理が実行

 されなかった

・そもそもcronに正しく登録されていなかった。

・起動されたシェルがハングして残っている。

参考になれば幸いです。
sf_1
新しいメンバー

cronでスクリプトを動かしたい

いろいろなご意見ありがとうございます。

状況と確認した事項を以下にまとめます

�スクリプトを実行するユーザはroot

 したがってcrontabの実行権限はrootに設定してあり ます(rwx------)

�cronのログについて

 /var/adm/cron/logの内容

 2/6、2/7にcronが起動したというメッセージはあり ますが、2/8以降のログがありません(設定上毎日動

 かすようにしてあるのですが・・・)

�スクリプトが起動していないことの確認

 スクリプトが実行された場合、ログが出力される仕

 様になっています(別の環境で動作実績あり)

簡単ですが、現状このような状態です。
?????_98
アドバイザー

cronでスクリプトを動かしたい

以下の点が気になるのでお聞きします:

>�スクリプトを実行するユーザはroot

> したがってcrontabの実行権限はrootに設定してあり

> ます(rwx------)

これは具体的にどのファイルのことをおっしゃっていますか?

crontabコマンドでスケジュールを登録する限りにおいて

ファイルのPermissionを気にする必要は全くないのですが・・

どのような手順でcrontabの設定をされているのでしょうか?

普通は、

* * * * * date > /tmp/date.cron.out

というようなスケジュールを記述したファイルを作り、(そのファイルをたとえば、/tmp/crontab.mine

とかでセーブします)

# crontab /tmp/crontab.mine

とrootユーザーで実行すればその内容がroot用の

crontabとして登録される・・・という手順をとりますが・・(つまり、Permission云々の設定は必要ありません)

rootで"crontab -l"を実行してご希望のコマンドのスケジュールが

表示されますでしょうか?上記の手順で設定していれば、

正しいスケジュールが表示されます。

Na_Ka
頻繁なアドバイザー

cronでスクリプトを動かしたい

システム日付を変更していませんか?

システム日付をsingleユーザモードで変更しないと不具合が発生するときがあります。

もしくはcronのhangupの可能性も

一度/usr/sbin/cronのプロセスを再起動してみてください。
NCC1701E
時折のアドバイザー

cronでスクリプトを動かしたい

>2/6、2/7にcronが起動したというメッセージはあり 

>ますが、2/8以降のログがありません

2/7日のcron実行後と2/8日のcron実行前の空白の時間に

何か設定を(意識的に、無意識に)変えましたか?

sf_1
新しいメンバー

cronでスクリプトを動かしたい

皆さんありがとうございます。

環境についての追加です。

�crontab

 /var/spool/cron/crontab 下にrootという名前で作成してあります。

 このrootの実行権限が700に設定してあります

�crontab -lの実行結果

 上記コマンドは問題なく実行でき、crontabの内容が表示されます。

�動作させるスクリプトについて

 このcrontabで動作させるスクリプトは4種類

 a.不要なログの消去

 b.保存するログの収集

 c.データのバックアップ

 d.データベースのバックアップ

 これらの処理が順次実行されますが、今現在ひとつも動作していません(/var/adm/cron/logにもcronが起動したという記録もありません)

といった状況です。
sf_1
新しいメンバー

cronでスクリプトを動かしたい

皆さん貴重なご意見ありがとうございました。

いろいろ調べたりしてみましたが、結局明らかな原因がわかりませんでした。

そこで、cronの停止、起動を行いました。

すると、なんと設定通りのスケジュールでcronが動きだしました。

原因はわかりませんが、cronがハングアップしていたように思えます。

以上、ご報告まで、ありがとうございました。