背景:
宿主机上写了个备份mysql数据库容器的脚本,手动执行没问题,放到计划任务就备份文件大小为0.怎么都不行。
根源:
脚本中存在如下命令在计划任务中执行无效:
docker exec -it mysql mysqldump --add-drop-table --force -uroot -p123456 test > /data/backup/mysql_from_test/data/test.sql
解决办法:
原因是exec 后面加了 -it 参数就开启了一个终端,计划任务是无法进入任何终端的,需要将命令行中的 -it参数去掉,同时建议二进制命令写成全路径形式,修改为如下:
/usr/bin/docker exec mysql /usr/bin/mysqldump --add-drop-table --force -uroot -p123456 test > /data/backup/mysql_from_test/data/test.sql
好了,这就是宿主机crontab中添加docker exec命令无效的解决办法了,如有问题可与博主一起交流讨论!
版权属于:LCQ(除特别注明外)
原文链接:https://blog.csdn.net/qq_35663625/article/details/102520219/
本站文章采用 知识共享署名4.0 国际许可协议 进行许可,请在转载时注明出处及本声明!
本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。