0

db バックアップを s3 に保存する次のスクリプトがあります。

# next, backup the mysql `premiered` database to the backups folder
echo successfully backed up mysql databasee
mysqldump --single-transaction -u root test | gzip  > $BACKUPFOLDER/$CONNECT

# finally, save the backups to s3 via s3fs
s3fs test-backups ./s3fs
cp $BACKUPFOLDER/$CONNECT ./s3fs/$CONNECT
echo succeessfully saved sql file to s3

これをシェル コマンドとして実行すると$ ./backup.sh、ファイルが S3 に正しく保存されます。ただし、cron 経由でこのコマンドを実行すると、ファイルは文字通りローカル./s3fsフォルダーに保存され、S3 には保存されません。これが発生する理由と、これを修正するために何をする必要がありますか?

4

1 に答える 1

2

cronジョブはcron、デフォルトではS3クレデンシャルにアクセスできないユーザーの下で実行されます。それらを環境変数に格納すると思いますS3_*が、cronジョブはほとんど空の環境で実行されます。

于 2012-05-14T21:34:43.637 に答える