PostgreSQL實(shí)現(xiàn)定期備份的方法
前言
本文主要研究下PostgreSQL如何實(shí)現(xiàn)定期備份。
環(huán)境說(shuō)明
我們需要第一在主機(jī)上創(chuàng)建一個(gè)文件夾用來(lái)存放保存好的文件(容器和本機(jī)都需要) 且本機(jī)的文件需要賦予權(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
在容器的一個(gè)文件中創(chuàng)建sh腳本
cd /home mkdir script touch save.sh
腳本內(nèi)容為(根據(jù)實(shí)際情況修改):
#!/bin/bash # Description:備份 PostgreSQL 數(shù)據(jù)庫(kù)并壓縮成 gz 文件,最后刪除 3 天前的備份文件。 echo "開始執(zhí)行 PostgreSQL 數(shù)據(jù)庫(kù)的備份..." echo "backup ing..." today=$(date +%Y-%m-%d) # 今天的日期 nowtime=$(date +%F+%T) # 當(dāng)前時(shí)間點(diǎn) yestoday=$(date -d '-3 day' +%Y-%m-%d) # 3天前的日期 host_ip=127.0.0.1 # 本機(jī) IP 地址 backup_ip=你的遠(yuǎn)端地址 # 遠(yuǎn)端備份服務(wù)器 IP port_id=5432 # 端口號(hào),PostgreSQL默認(rèn)的端口號(hào)是5432 username=postgres # 數(shù)據(jù)庫(kù)用戶 export PGPASSWORD='你的密碼' # 數(shù)據(jù)庫(kù)密碼 dmpDir='你的目錄' # 本地備份目錄 destination='你的目錄' # 遠(yuǎn)端備份目錄 echo "時(shí)間:" $nowtime set timeout 600 # /usr/bin/ 為 pg_dump 備份工具安裝路徑,根據(jù)實(shí)際情況更新此路徑。 /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)換擴(kuò)展配置 echo "PostgreSQL 數(shù)據(jù)庫(kù)備份完成!" echo "當(dāng)天備份文件壓縮中..." gzip "$dmpDir/pg_backup_$today.sql" echo "3 天前的 PostgreSQL 數(shù)據(jù)庫(kù)備份文件已刪除!" 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è)置定時(shí)任務(wù)
點(diǎn)擊創(chuàng)建

輸入名稱

點(diǎn)擊步驟創(chuàng)建

點(diǎn)擊編輯——添加運(yùn)行代碼


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

最后在重復(fù)中:添加每日?qǐng)?zhí)行時(shí)間

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

