2012-05-14 173 views
0

我有以下腳本,節省了數據庫備份到S3:運行的cron產生不同的結果,運行其命令

# 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 

當我運行這是一個shell命令,$ ./backup.sh,它正確地將文件保存到S3 。但是,當我通過cron運行此命令時,它將文件保存到本地文件夾./s3fs,並不保存到S3。爲什麼會發生這種情況,我需要做些什麼來解決這個問題?

+0

使用'sudo'在這裏工作。 – David542

+0

這就是你完成環境的地方。 –

回答

2

cron作業在用戶cron下執行,默認情況下,它不能訪問您的S3憑證。我想你將它們存儲在你的S3_*環境變量中,但是cron作業在幾乎空的環境下執行。

相關問題