[英]automatic backup in postgresql creates the empty backup
我想使用 UNIX 中的 crontab 自动备份 PostgreSQL 数据库。 我已经尝试过,但它会创建 0 字节备份。
我的 crontab 条目是:
24 * * * * /home/desktop/myscript.sh
我的 sh 文件包含以下代码:
pg_dump -U PostgreSQL -d test > b.backup
它将创建文件,但文件为空。 有什么解决办法吗? 有没有办法解决这个问题?
不要假设在 cron 作业中设置了任何环境变量; 明确:
/full/path/to/pg_dump -U postgres -d test > /full/path/to/b.backup
在收件箱中查找来自cron
的失败报告的邮件。
您必须指定 pg_dump 的完整路径
#!/bin/bash
BKPDATE=$(date +%d.%m.%Y-%H:%M:%S)
cd /var/lib/pgsql/12/backups
/usr/pgsql-12/bin/pg_dump -Fc dl_db > DBNAME_$BKPDATE.dmp --verbose 2> LOG_$BKPDATE.log
或者您必须将 PostgreSQL 的 bin 目录添加到如下路径:
vi /var/lib/pgsql/.pgsql_profile
export PATH=$PATH:/usr/pgsql-12/bin
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.