PostgreSQL實現(xiàn)定期備份的方法
前言
本文主要研究下PostgreSQL如何實現(xiàn)定期備份。
環(huán)境說明
我們需要第一在主機上創(chuàng)建一個文件夾用來存放保存好的文件(容器和本機都需要) 且本機的文件需要賦予權(quán)限
chmod o+W /你的文件地址
需要在容器中安裝openssh-client、和sshpass
apt install openssh-client apt-get install sshpass
1、創(chuàng)建腳本
先查詢下pg_dumpall工具位置:
find / -name pg_dumpall
在容器的一個文件中創(chuàng)建sh腳本
cd /home mkdir script touch save.sh
腳本內(nèi)容為(根據(jù)實際情況修改):
#!/bin/bash # Description:備份 PostgreSQL 數(shù)據(jù)庫并壓縮成 gz 文件,最后刪除 3 天前的備份文件。 echo "開始執(zhí)行 PostgreSQL 數(shù)據(jù)庫的備份..." echo "backup ing..." today=$(date +%Y-%m-%d) # 今天的日期 nowtime=$(date +%F+%T) # 當(dāng)前時間點 yestoday=$(date -d '-3 day' +%Y-%m-%d) # 3天前的日期 host_ip=127.0.0.1 # 本機 IP 地址 backup_ip=你的遠(yuǎn)端地址 # 遠(yuǎn)端備份服務(wù)器 IP port_id=5432 # 端口號,PostgreSQL默認(rèn)的端口號是5432 username=postgres # 數(shù)據(jù)庫用戶 export PGPASSWORD='你的密碼' # 數(shù)據(jù)庫密碼 dmpDir='你的目錄' # 本地備份目錄 destination='你的目錄' # 遠(yuǎn)端備份目錄 echo "時間:" $nowtime set timeout 600 # /usr/bin/ 為 pg_dump 備份工具安裝路徑,根據(jù)實際情況更新此路徑。 /usr/bin/pg_dumpall --file "$dmpDir/pg_backup_$today.sql" --host "$host_ip" --port "$port_id" --username "$username" #--verbose --role "postgres" --format=c --blobs --encoding "UTF8" 備份轉(zhuǎn)換擴展配置 echo "PostgreSQL 數(shù)據(jù)庫備份完成!" echo "當(dāng)天備份文件壓縮中..." gzip "$dmpDir/pg_backup_$today.sql" echo "3 天前的 PostgreSQL 數(shù)據(jù)庫備份文件已刪除!" echo "開始遠(yuǎn)端備份..." export SSHPASS=your_password sshpass -e scp -r "$dmpDir/pg_backup_$today.sql.gz" (你的登錄名)@$backup_ip:$destination echo "遠(yuǎn)端備份完畢,感謝您使用此腳本!" exit;
給腳本增加可執(zhí)行權(quán)限
chmod +x save.sh
2、用pgAgent設(shè)置定時任務(wù)
點擊創(chuàng)建

輸入名稱

點擊步驟創(chuàng)建

點擊編輯——添加運行代碼


創(chuàng)建計劃任務(wù):

最后在重復(fù)中:添加每日執(zhí)行時間

最后記得保存!
結(jié)語
我們借用pgAgent完成了數(shù)據(jù)庫的日常2個定時任務(wù),清理數(shù)據(jù)、保存數(shù)據(jù)庫。
以上就是PostgreSQL實現(xiàn)定期備份的方法的詳細(xì)內(nèi)容,更多關(guān)于PostgreSQL定時備份的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
postgresql 刪除重復(fù)數(shù)據(jù)的幾種方法小結(jié)
這篇文章主要介紹了postgresql 刪除重復(fù)數(shù)據(jù)的幾種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
PostgreSQL主從復(fù)制實戰(zhàn)指南:告別單點故障,附主從切換與延遲監(jiān)控命令
文章詳細(xì)介紹了如何在CentOS/Ubuntu環(huán)境下搭建PostgreSQL主從復(fù)制,包括環(huán)境準(zhǔn)備、主庫配置、從庫配置、驗證復(fù)制狀態(tài)等步驟,通過主從復(fù)制,可以實現(xiàn)數(shù)據(jù)庫高可用,減少宕機時間,提高系統(tǒng)容災(zāi)能力,感興趣的朋友一起看看吧2026-04-04
Postgresql 跨庫同步表及postgres_fdw的用法說明

