定期运行docker命令?

时间:2018-06-13 19:51:38

标签: docker

我需要经常运行以下2个命令(例如,每天一次):

docker exec -t my_db pg_dumpall -c -U postgres > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql

docker exec -t my_db pg_dumpall -c -U postgres > latest_backup.sql

我怎么会这样做? docker容器将部署到生产环境,我想要备份数据库。我读到了cron,但我不确定这是不是正确的方法。

2 个答案:

答案 0 :(得分:1)

是的,您可以使用cron作业通过docker触发pg_dump,但如果您使用的是Orchestrator,则最好依赖它们提供的任务调度程序。

例如,参见OpenSift:Cron Jobs,对于Kubernetes:Cron Jobs,如果您正在使用Rancher:Container crontab等。

答案 1 :(得分:0)

正如塞巴斯蒂安所说,Container crontab适合使用牧场主。安装堆栈,并在服务上添加标签“ cron.schedule = * * * * * *”。

如果您不使用任何编排工具,则mcuadros/ofelia是一个不错的小容器,可以在现有容器上调度命令(执行,运行)。它还具有一些不错的日志记录功能,例如电子邮件报告或备用消息。