Debian:在 Docker 上使用 cron 任务

Debian : Using a cron task on Docker

我在我的服务器 (debian 7.5) 上使用 docker 和 docker compose。

我有 1 个 mysql 容器和一个用于 2 个应用程序的 postgresql 容器。

当我想创建我的数据库的备份时(例如从我的 mysql 容器中创建数据库 "mydb"),我会这样做:

docker exec -it <my_container_id> mysqldump --opt mydb > "/backup/mydb$(date +%Y%m%dà%H%M).sql"

效果很好。备份保存在我的本地服务器中。

问题是我想每天创建这个任务。所以我在 /etc/cron.daily/ 中创建了一个文件 "backup.sh"。 (然后我做了 chmod +x backup.sh)。

但问题是,cron 根本不起作用。我可以在日志中看到文件已执行,但我的备份文件夹中没有任何内容。

有人有问题吗?

非常感谢

Cron 不会设置 PATH,除非您指定它。

尝试在您的 shell 脚本中使用 docker 绝对路径(最有可能是 /usr/bin/docker)。