私はVPS上にファイルシステムとSQLのコピーを作成し、それらを私がバックアップメディアにプッシュするのと同じフォルダに保存する 'sh'スクリプトを作成しました。 SSHをrootとしてログインしてコマンドを手動で実行するとzipファイルとSQLバックアップが正常に作成されるようにスクリプトが動作していることがわかりますが、このスクリプトを実行するために作成したCRONjobは機能しません。私は「の/ etc/crontabの」で、次のcronジョブを作成していますVPS上でCRONジョブを実行する際に問題が発生しました
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
4 6 * * * root test -x /usr/sbin/anacron || (cd/&& run- parts --report /etc/cron.daily)
20 1 * * 7 root test -x /usr/sbin/anacron || (cd/&& run-parts --report /etc/cron.weekly)
51 5 1 * * root test -x /usr/sbin/anacron || (cd/&& run-parts --report /etc/cron.monthly)
* * * * * root /home/backup/test.sh
5番目のエントリは、私がテストするために作成したものです。パスは正しいので、前に指示された絶対パスを使用しました。私はCRONジョブをテストするためにファイル(test.txt)に何らかのテキストを出力するtest/shという簡単なスクリプトを書いていますが、動作しません。私は 'tail -f'コマンドを使ってテキストファイルへの変更を監視しています。これは決して呼び出されません。スクリプトは手動で実行されても動作します。
ここには単純な「test.sh」ファイルがあります。手動で呼び出すと正しく動作します。
#!/bin/bash
echo "Dumping at: $(date)" >> /home/backup/test.txt
私は、アクセス許可の問題があるかもしれない理解が、私は「ルート」としてこれを実行していたならば、これは問題ないはずと思いましたか?私はどこに間違っているのか誰にでも見える?だから、
おかげ
test.shには何が含まれていますか?具体的には、test.txtをどのように参照していますか?絶対パスを使用していますか? cronがあなたのスクリプトを実行するときに、あなたが手動でそれを実行するときにあなたがいるディレクトリにはいないことに留意してください。 – moonshadow
crontabタグの[info wiki](https://stackoverflow.com/tags/crontab/info)の 'Debugging crontab'にリストされているものをすべてチェックしましたか? –
test.shの内容を元の投稿に追加します。謝罪私はこれを忘れた – devoncrazylegs