给postgresql 数据库做备份,
在shell脚本中利用pg_dump命 令来备份整库,
在postgresql用户下,挂载crontab,如下:
PATH=/home/postgres/.local/bin:/home/postgres/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/pgsql/bin
17 11 * * * /home/dbbackup/shell/backupdb_sh.sh >> /home/dbbackup/shell/dbbackuplog.log 2>&1 &
执行时报错如下:
然后分析问题,
1、是不是系统自 动调用时,不是用postgres用户执行的该脚本,国类pg_dump命令是属于postgres用户的命令
如是在脚本中添加打印当前用户的命令如下:
执行后,查看日志,发现用户是postgres用户没错,如下图:
2、会不会是环境变量没生效?
于是在crontab -e中 去source