1

QNAP-219P を所有しており、s3cmd を使用して手動で設定したいと考えています。

私はこれについてかなりの調査を行いました。ここに私が得た参考文献があります:

s3cmd を TS-219P で動作させようとしています。

コマンドラインでスクリプトファイル(s3-backup.sh)を実行しても、(コマンドラインで)すべてが機能するようになりました。

#!/bin/bash   <-- I also tried #!/bin/sh

/share/maintenance/s3cmd-1.5.0-rc1/s3cmd --rr sync -rv /share/all-shared-folders/emilie/ s3://kingjim-backup/kingjim-nas/emilie/ >> /share/maintenance/log/s3cmd/backup_`date "+%Y%m%d-%H-%M"`.log    <-- I also tried running s3cmd via python by adding /usr/bin/python on the front.

SSH コマンド プロンプトを使用して実行すると、問題なく動作するようです。

ただし、問題は cronjob です。私のログファイル(上記のもの)が生成されたため、cronjobトリガーを確認でき、実行されましたが、作成/変更された新しいファイルがいくつかあると確信していても、ログは常に空です。

これは私のcronjobタスクです:

14 3 * * * /share/maintenance/s3-backup.sh 2>&1 | logger

上記でさまざまなバリエーションを作成しましたが、何が欠けているのかを見つけることができませんでした。

コマンドプロンプトで実行したときと比較して、crontabの実行中は依存関係が欠落しているように感じます。しかし、crontab をデバッグする方法がわかりません。

4

1 に答える 1

1

s3cmdの実行時にs3cmdの設定ファイルが見つからないことが問題であることがわかりました。

したがって、この .s3config ファイルを安全な共有フォルダーにコピーし、「--config」パラメーターの後にファイルを指定して s3cmd を呼び出すだけで修正できました。

このような:

/share/maintenance/s3-backup/s3cmd/s3cmd --config
/share/maintenance/s3-backup/s3cmd.config --rr sync -rv /share/MD0_DATA/ s3://xxx-backup/xxx-nas/ >> /share/maintenance/s3-backup/logs/backup_`date "+%Y%m%d-%H-%M"`.log 2>&1
于 2014-10-19T08:27:36.187 に答える