我使用了Automated_Backup_on_Linux中的Common Postgresql备份脚本:
#!/bin/bash
if [ ! $HOSTNAME ]; then HOSTNAME="localhost"; fi
if [ ! $USERNAME ]; then USERNAME="postgres"; fi
BACKUP_DIRECTORY="/Users/xeranta/Documents/AW/"
CURRENT_DATE=$(date "+%Y%m%d")
if [ -z "$1" ]; then
pg_dump -U postgres -h localhost -p 5432 db_gocampus_unmul \
> $BACKUP_DIRECTORY/db_gocampus_unmul.sql
else
pg_dump $1 | gzip - > $BACKUP_DIRECTORY/$1_$CURRENT_DATE.sql.gz
fi
它在终端
中运行$ ~/Documents/AW/./dbbackup.sh
但是在MacOS Sierra版本10.12.6中的CRONTAB中设置时不会运行
我有这个错误
/ Users / xeranta / Documents / AW /./ backup.sh:line 36:pg_dumpall:command 找不到
答案 0 :(得分:0)
问题的原因是pg_dump
位于交互式shell中的PATH
上,而不是位于cron作业中。
您应该使用与此类似的绝对路径:
PGPATH=/wherever/your/postgres/binaries/are
"$PGPATH"/pg_dump ...