【发布时间】:2017-01-18 12:10:42
【问题描述】:
当我尝试使用 shell 脚本备份 PIVOTAL HAWQ 数据库时。
出现错误:
/home/gpadmin/backup_db.sh: line 12: pg_dump: command not found
输入shell脚本:backup_db.sh
#!/bin/bash
# Location to place backup.
backup_dir="/home/backup/"
#String to append at the name of the backup files
backup_date=`date +%d-%m-%Y`
#Numbers of days we want to keep copy databases
number_of_days=7
databases=(prod test gpadmin)
for i in ${databases[@]}; do
if [ "$i" != "template0" ] && [ "$i" != "template1" ]; then
echo Dumping $i to $backup_dir$i\_$backup_date
pg_dump $i|gzip > $backup_dir$i\_$backup_date.gz
fi
done
find $backup_dir -type f -prune -mtime +$number_of_days -exec rm -f {} \;
CRONTAB: 输入外壳脚本 - */5 * * * * /home/gpadmin/backup_db.sh > /tmp/bkp.log
在运行 shell 时手动转储数据。但同时不能通过每 5 分钟运行一次的 crontab 工作。
对此的任何帮助将不胜感激。
【问题讨论】:
-
看起来当你的 cron 作业运行时 PATH 没有设置。这就是找不到
pg_dump命令的原因。 -
@codeforester 路径?
-
pg_dump 对 mpp 不友好。您的所有数据都将通过 master 并降落到本地目录。 Hawq 站在 hadoop hdfs 上。您正在将 hdfs 数据移回本地目录。这没有意义。
-
我应该使用什么命令来备份 HAWQ 数据库而不是 pg_dump?
-
有没有备份HAWQ的替代方案?
标签: bash shell crontab greenplum hawq