- 編寫備份數(shù)據(jù)庫shell腳本:vi db_backup.sh
#!/bin/bash
dbname=$(date +%Y%m%d_back.sql)
pg_dump -h 127.0.0.1 -p 6688 -U shtecdba -d shtec -n shtecdba -O > /home/yt/back_sql/$dbname
- 設(shè)置備份pg數(shù)據(jù)庫時免密登陸
命令:vi ~/.pgpass(在當前目錄下創(chuàng)建密碼隱藏文件)
#hostname:port:database:username:password
127.0.0.1:6688:sh:dba:123456
- 編輯完成設(shè)置權(quán)限(否則會報錯):chmod 0600 ~/.pgpass
給備份shell腳本添加執(zhí)行權(quán)限:chmod -R 777 db_backup.sh - 設(shè)置定時任務(周一到周五每天凌晨3點執(zhí)行數(shù)據(jù)庫備份)
查看cron服務狀態(tài):service crond status
當前用戶下編寫定時任務命令:crontab -e
00 3 * * 1-5 /root/db_backup.sh >/dev/null 2>&1
- 使用rsync進行文件增量備份:
安裝rsync步驟:
1.下載:wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
2.解壓:tar -xvf rsync-3.1.2.tar.gz
3.進入解壓后目錄
4.配置安裝路徑:./configure --prefix=/usr/local/rsync
5.編譯:make
5.安裝:make install
6.配置conf文件:vi /usr/local/rsync/rsync.conf
配置文件內(nèi)容:
uid = root
gid = root
use chroot = yes
strict modes = false
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
####
log file = /var/log/rsyncd.log
transfer logging = true
log format= "%o [%a] %m (%u) %f %l %b %c"
##
reverse lookup = no
ignore errors = true
read only = false
hosts allow = 10.196.222.14
hosts deny = 0.0.0.0/0.0.0.0
strict modes = yes
list = false
max connections = 10
timeout = 1800
[backup]
path = /home/yt
auth users = root
secrets file = /usr/local/rsync/rsyncd.secrets
7.修改密碼文件權(quán)限
chmod 600 /usr/local/rsync/rsyncd.secrets
8.啟動服務
/usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsync.conf
- 備份同步語句
rsync -vrtopg --ignore-existing --delete root@10.196.222.12::backup /home/yt --password-file=/etc/rsyncd.passwd
- 編寫增量備份腳本:vi back_sync.sh
#!/bin/bash
#數(shù)據(jù)備份同步(增量備份)
rsync -vrtopg --ignore-existing --delete root@10.196.222.12::backup /home/yt --password-file=/etc/rsyncd.passwd
#數(shù)據(jù)庫還原
dbname=$(date +%Y%m%d_back.sql)
psql -U shtecdba -d shtec -h 127.0.0.1 -p 6688 -f /home/yt/back_sql/$dbname
- 設(shè)置定時增量備份:crontab -e
00 4 * * 1-5 /root/back_sync.sh >/dev/null 2>&1