我想要的是简单地以一定的时间间隔转储我的MySQL数据库,然后在完成后将该文件夹同步到我的S3存储桶。我的脚本的每个化身都遇到了同样的问题。
如果我直接运行脚本,它可以正常工作。数据库转储并且没有问题。如果我从Cron作业运行脚本,脚本似乎以块的形式执行。它一次转储和拉链在75-100兆之间,覆盖刚刚完成的部分。因此,最终得到一个只有75Mb而不是完整文件的文件,而不是最终得到一个完整的541Mb gzip文件。
它几乎就像它在转储完成之前开始压缩。
这是我正在使用的当前脚本。没有多少。
#!/bin/bash
NOW=$(date +%Y-%m-%d--%H)
echo Dumping database at production-$NOW.sql
mysqldump --user=USERNAME --password=PASSWORD --routines DBNAME > /var/mysqlBackups/production-$NOW.sql
echo Zipping production-$NOW.sql
gzip /var/mysqlBackups/production-$NOW.sql
printf "Completed backup and gzip\n\n"
我已经尝试将我的env变量添加到脚本中但没有做任何事情,这不是可以手动运行的脚本。
任何想法或地点开始?我疯了。