如何使用 pg_dumpall 备份 postgres docker 镜像

如何使用 pg_dumpall 备份 postgres docker 镜像

我尝试使用这个 cron 条目备份 docker postgres 容器:

/usr/bin/docker exec -it container_postgres_1 bash -c 'pg_dumpall -c -U postgres > /pg/sql_`date +%d-%m-%Y"_"%H_%M_%S`.sql'

当我在 shell 中执行此行时,它可以工作(在容器内部创建备份),但 cronjob 不起作用。

主机是一台 Debian jessy 机器。

答案1

“-it”参数不适用于docker exec,并且在cron中我们必须转义%符号:)

@hourly /usr/bin/docker exec container_postgres_1 bash -c 'pg_dumpall -c -U postgres > /pg/sql_$(date +\%d-\%m-\%Y-\%H_\%M).sql'

相关内容