【发布时间】:2021-03-30 15:12:37
【问题描述】:
我在 cronjob 中使用 docker exec 和 mysqldump 时发现了一些问题
我想在容器中备份我的数据库并尝试了这个,效果很好
sudo docker exec -it --user root lemp_mariadb mysqldump -uroot -pxxxxxxx iot >/home/backup/backup_data.gz
但是当我在 crontab 中使用它时,我得到的文件输出没有任何内容,文件大小为 0 字节
0 24 * * * docker exec -it --user root lemp_mariadb mysqldump -uroot -pxxxxxxx iot >/home/backup/backup_data.gz
我做错了什么?
【问题讨论】:
-
更多信息可能真的很有帮助。我假设 crontab 以 root 身份运行?
-
备份在哪里写入,容器是否有权访问您尝试写入文件的位置以及作为用户/容器写入的正确权限?很可能没有写入能力,因此您收到失败或您的命令不正确,导致写入为 0 或进程终止。 (进程死亡的可能性最小)