2012-05-14 278 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作业在几乎空的环境下执行。

相关问题