??诮裉彀l(fā)現(xiàn)一例東莞網(wǎng)站優(yōu)化
首先如果想直接在宿主機(jī)上進(jìn)行使用gs_dump備份需要glibc的版本到2.34及以上,查看版本命令為
ldd --version
如圖所示,本宿主機(jī)并不滿足要求,所以轉(zhuǎn)向在docker容器中進(jìn)行備份,
然后進(jìn)入opengauss容器中,命令為
docker exec -it gausst bash (其中g(shù)ausst為你新建opengauss數(shù)據(jù)庫(kù)名稱)
新建的容器是沒(méi)有cron定時(shí)器的,安裝命令
apt-get update && apt-get install cron -y
安裝完成后,再新建一個(gè)目錄,比如/home/back
在該目錄中,新建一個(gè)叫腳本,backups.sh
然后在腳本中插入以下代碼
#刪除七天之前的數(shù)據(jù)
find /home/back -mtime +7 -name "*.tar.gz" -exec rm\;#配置備份工具的環(huán)境
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opengauss/lib;
export PATH=$PATH:/usr/local/opengauss/bin;#定義變量時(shí)間,端口,打包位置,賬號(hào)密碼
Ymd=$(date +%Y%m%d)
host=你的地址
DBUser=你的賬號(hào)
DBPassword=你的密碼
port=你的端口
filePath=/home/back/
sqlPath1=$filePath"xxx_"$Ymd.dmp#執(zhí)行備份
gs_dump -U $DBUser -W $DBPassword -h $host -f $sqlPath1 -p $port sifa -F c -n 你的模式#對(duì)帶備份文件賦予777權(quán)限
chmod 777 $sqlPathl
chmod 777 $sqlPath2
chmod 777 $sqlPath3#打包壓縮文件tar -zcvf $filePath$Ymd.tar.gz $sqlPath1 #清理剩余的dmp文件
rm $filePath*.dmp
然后新建一個(gè)日志文件con.log
在執(zhí)行
crontab -e
在第一行插入
0 3 * * * /home/back/backups.sh>>/home/back/con.log
這條命令表示每天凌晨三點(diǎn)執(zhí)行該腳本
保存退出執(zhí)行,
service cron restart