例如是使用 user 帳號安裝 PostgreSQL
在家目錄新增檔案 .pgpass
檔案內容只有一行
localhost:port:database:username:password
localhost: 輸入 ip;若為本機端,輸入 127.0.0.1
port: port of PostgreSQL
database: 資料庫名稱
username: 資料庫帳號
password: 資料庫密碼
修改 .pgpass 的權限為 600
sudo chmod 600 .pgpass
sudo chmod 600 .pgpass
新增備份目錄,測試匯出資料庫是否不用輸入密碼,若不用則上述設定成功
mkdir dbbackup
pg_dump -h 127.0.0.1 -p 5432 -U postgres postgres>postgres.dump
mkdir dbbackup
pg_dump -h 127.0.0.1 -p 5432 -U postgres postgres>postgres.dump
在家目錄新增檔案 backupdb.sh ,檔案內容如下
#!/bin/bash #設定時間變數 day=$(date +%Y%m%d) #設定備份路徑 bkdir="/home/user/dbbackup" #備份資料庫 pg_dump -h 127.0.0.1 -p 5432 -U postgres postgres>"$bkdir"/postgres.dump #移動到備份目錄 cd "$bkdir" #壓縮資料庫並加上日期 tar -zcf postgres."$day".tar.gz postgres.dump #刪除備份檔 rm postgres.dump exit 0
加入 crontab 排程內,每天凌晨3:30做備份
30 3 * * * user sh /home/user/backupdb.sh
30 3 * * * user sh /home/user/backupdb.sh
若要將 tar 打包好的備份檔案解壓縮,指令如下
tar -zxv -f postgres.20140924.tar.gz
tar -zxv -f postgres.20140924.tar.gz
沒有留言:
張貼留言