Linux下postgres數據庫備份(定時任務)


一。創建腳本

編寫數據庫定時備份腳本 ​腳本語句如下:

命名為:pgback.sh

#!/bin/bash

export PGPASSWORD='123456'   #數據庫密碼
export dbname=dbname     # 數據庫庫名
backuppath=/var/lib/pgsql/9.6/backups     #備份保存的路徑
echo "開始執行 PostgreSql 數據庫的備份!"
echo "backup ing -------------------"
# 獲取當前時間
cur_time=$(date '+%Y-%m-%d')
sevendays_time=$(date -d -7days '+%Y-%m-%d')
rm -f $backuppath/${dbname}$sevendays_time.bak   #刪除7天前的備份
pg_dump --port 5432 --username "postgres" --no-password --format custom --blobs --verbose --file "$backuppath/${dbname}$cur_time.bak" "${dbname}"

echo "當前時間 $(date +"%Y-%m-%d %H:%M:%S")"

echo "數據庫備份結束!"

echo "${dbname}$cur_time.bak備份成功">>/home/pgsql/backups/bak.log   #輸出日志

exit;

 

二。給文件權限

chmod +x pgback.sh

 

三。測試腳本

sh  pgback.sh

 

 

四。定時任務

crontab -e

設置每天晚上23點執行腳本,並輸出到日志,路徑可自行更改

0 23 * * * sh /home/pgsql/backups/pgback.sh > /home/pgsql/backups/bak.log 2>&1    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM