对于每日数据库备份,我创建了以下 cron 作业:
文件: crontab -e
SHELL=/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin
* * * * * /bin/bash /var/path/deploy/database/scripts/backup.sh
文件:/var/path/deploy/database/scripts/backup.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
cp -r /var/path/deploy/database/scripts /var/bricoolpathpostgresql/data
chmod 755 -R /var/path/postgresql/data
docker exec -it database /var/lib/postgresql/data/scripts/pg_backup_rotated.sh
当我直接执行脚本时,它运行良好,备份创建成功。但是脚本正在从 cron 作业中执行命令
docker exec -it database /var/lib/postgresql/data/scripts/pg_backup_rotated.sh
似乎不起作用。我在/var/log/syslog 中没有错误输出
最佳答案
正如 Danny Ebbers 在评论中提到的那样,问题在于 Docker 命令中的 -i 参数。
关于bash - 在 ubuntu cron 作业中执行 "docker exec -it"命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61945563/