我尝试使用这个 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'