• ベストアンサー

crontab でスクリプトが動かない

一応環境ですが、 CentOS5 PostgreSQL8 crontabでDBのバックアップを取ろうと思っていますがうまく動作しません。 以下のスクリプトファイルを作成し、crontabで毎日実行しようと考えています。 /home/hogehoge/Maintenance.sh/pg_dumpall.sh (内容)-------------------------------------------------------- #!/bin/sh cd /home/hogehoge/Maintenance.sh pg_dumpall -h localhost -U postgres -c > pg_dumpall.dump chmod 600 pg_dumpall.dump -------------------------------------------------------- crontab (内容)-------------------------------------------------- 0 4 * * * /home/hogehoge/Maintenance.sh/pg_dumpall.sh -------------------------------------------------------- しかし、時間になってもpg_dumpall.dump ファイルが作成されません。 crontab自体は動作しています。(ファイル作成だけをしたらちゃんとできてました) 0-59/2 * * * * /bin/date > /home/sweets/Maintenance.sh/hoge pg_dumpall.sh の内容を1行ずつ実行しても正常にできます。 cd /home/hogehoge/Maintenance.sh pg_dumpall -h localhost -U postgres -c > pg_dumpall.dump chmod 600 pg_dumpall.dump なにかほかにも設定しなくてはいけないことがあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

cron が独自の PATH を設定している可能性は?

noname#64280
質問者

お礼

問題はサーバの時計がずれていたため、何度テストしても動いていなかったのでありました。 ご回答ありがとうございました。

その他の回答 (2)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.3

> pg_dumpall.sh の内容を1行ずつ実行しても正常にできます。 pg_dumpall.sh自体を実行できますか? ひょっとすると、実行フラグがたっていないのかも。 また、すでに指摘のあるとおり、pg_dumpallコマンドにパスが通っていないということもありがちです。 スクリプト内のpg_dumpallをフルパスに書き換えて、chmod +x pg_dumpall.sh とかやったら動くんじゃないかな。

noname#64280
質問者

お礼

問題はサーバの時計がずれていたため、何度テストしても動いていなかったのでありました。 ご回答ありがとうございました。

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.2

service crond status chkconfig crond --list はどうなっていますか? デフォルトでは動くようになっていると思いますが・・・

noname#64280
質問者

お礼

すいません。確認方法がちょっとわからなかったのですが、 問題は解決しました。 問題はサーバの時計がずれていたため、何度テストしても動いていなかったのでありました。 ご回答ありがとうございました。