【发布时间】:2018-07-17 16:14:31
【问题描述】:
我有一个数据库备份命令,它需要一个 mysql 转储,然后将该转储文件上传到 AWS S3,当我以普通用户身份运行该命令时,它可以完美运行,但是当我在 cron 作业中使用相同的命令时它会失败。
我检查了系统日志,没有错误消息表明作业后出现问题。只有一行表示作业已运行,然后继续运行下一个 cron 作业。
命令如下,敏感部分我去掉了:
mysqldump -u {{ db_user }} -p{{ db_password }} {{ db_name }} > /home/db_backup.sql | aws s3 cp /home/db_backup.sql s3://{{ s3_url }}/$(date --iso-8601=seconds)_db.sql --profile backupprofile
当这个命令由普通用户运行时,会有一个警告输出不要在命令行中使用 mysql 密码,但这对于命令在没有交互的情况下工作是必不可少的。 S3 的第二行表示上传成功。这些输出会以某种方式影响 cronjob 吗?
【问题讨论】:
标签: mysql amazon-web-services amazon-s3 cron ubuntu-16.04