运行cron会产生与运行其命令不同的结果

时间:2012-05-14 21:26:48

标签: linux bash shell amazon-s3 cron

我有以下脚本将数据库备份保存到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

当我以shell命令$ ./backup.sh运行它时,它正确地将文件保存到S3。但是,当我通过cron运行此命令时,它实际上将文件保存到本地./s3fs文件夹,并且不将其保存到S3。为什么会发生这种情况,我需要做些什么才能解决这个问题?

1 个答案:

答案 0 :(得分:2)

cron作业在用户cron下执行,默认情况下,该作业不能访问您的S3凭据。我想你将它们存储在S3_*环境变量中,但是cron作业在几乎为空的环境中执行。