[英]RUN command in dockerfile produces different result than manually running same commands inside container
[英]Running cron produces different result than running its command
我有以下腳本將數據庫備份保存到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。 為什么會發生這種情況,我需要做些什么才能解決這個問題?
cron作業在用戶cron
下執行,默認情況下,它不能訪問您的S3憑據。 我想你將它們存儲在S3_*
環境變量中,但是cron作業在幾乎為空的環境中執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.