シェルスクリプトを使用してPIVOTAL HAWQデータベースをバックアップしようとしています。PIVOTAL HAWQバックアップ - シェルスクリプトエラー
取得エラー:
/home/gpadmin/backup_db.sh: line 12: pg_dump: command not found
入力シェルスクリプト: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:SHELL SCRIPT FOR ENTRY - */5 * * * */home/gpadmin/backup_db.sh> /tmp/bkp.log
シェルを手動で実行してデータをダンプするとき。しかし同時に、5分ごとに実行されるcrontabで作業していない。
ご迷惑をおかけして申し訳ございません。
cronジョブの実行時にPATHが設定されていないように見えます。そのため、 'pg_dump'コマンドが見つからないのです。 – codeforester
@codeforester PATH? – NEO
pg_dumpはmppに優しいものではありません。すべてのデータはマスターを経由してローカルディレクトリに転送されます。 Hawqはhadoop hdfsに立っています。 hdfsデータをローカルディレクトリに戻しています。これは意味をなさない。 –