当前位置: 首页 > article >正文

shell脚本备份postgres SQL数据库(同台服务器备份脚本)

#postgres数据备份shell脚本
#!/bin/bash
folder=/home/data/backup/pgdatabackup;
if [ ! -d folder ];then
mkdir -p "$folder";
fi
cd $folder;
day=`date +%Y%m%d`;
FILENAME_BEFORE=export_bak_;
FILENAME=$FILENAME_BEFORE$day.dmp;
mkdir -p "$day";
#cd $day
#host=127.0.0.1
#port=5432
user=XXX;
#password=XXXX
db=apidbs;
backDay=1;
--获取容器名称
container=$(docker ps | grep 容器名称 | sed -n 1p | awk '{print $1}');
echo $container'开始postgres备份';
#docker exec -i $container /bin/bash -c  'PASSWORD='$password' 
/usr/lib/postgresql/15/bin/pg_dump -Fc -p '$port' -U '$user' -d '$db'>/var/lib/postgresql/data/'$FILENAME''
--进入docker容器并导出数据库备份文件
docker exec -i $container /bin/bash -c 'pg_dumpall -U '$user' > /var/lib/postgresql/data/'$FILENAME'';
--从docker容器复制脚本到指定目录
docker cp $container:/var/lib/postgresql/data/$FILENAME  $folder/$day/$FILENAME;
--docker删除脚本文件
docker exec -i $container /bin/bash -c 'rm -rf /var/lib/postgresql/data/'$FILENAME'';
echo $container'结束postgres备份';
echo "删除"$backDay  "天前的 数据库备份文件!开始";
--查询获取n天前的备份文件并删除
for filePath in `find $folder -name $FILENAME_BEFORE"*" -mtime $backDay `;
do
    # 上级目录
    upperLevelDir=$(dirname $filePath);
    if [  -d $upperLevelDir ];then
      echo "上级目录"$upperLevelDir;
      rm -rf $upperLevelDir;
      echo  $backDay "天前的数据库备份文件删除完毕!";
    fi;
done;
echo "删除"$backDay  "天前的 数据库备份文件!结束";


http://www.kler.cn/a/14294.html

相关文章:

  • 前端异步编程全套:xmlhttprequest > ajax > promise > async/await
  • 打造高效团队利器,掌握必备技能,揭秘完美工具箱——DevOps!
  • 运用SQL查询mysql,sersql,oracle所有数据库名和表名
  • 今天主要谈谈关于申请美国专利的一些问题
  • 数据库基础篇 《17.触发器》
  • Hadoop2.x集群搭建(centos7、VMware、finalshell)
  • 丁鹿学堂:2023最新vue3学习指南(vue3最简单demo)
  • 【致敬未来的攻城狮计划】— 连续打卡第十天:FSP固件库开发及FSP配置详解。
  • 20230425----重返学习-vue项目-vue自定义指令-vue-cli的配置
  • CentOS 7中安装配置Nginx的教程指南
  • linux waitpid函数详解
  • OrCAD Capture CIS使用MySQL数据库
  • android studio Activity发送数据
  • 零基础抽象轻松MYSQL
  • nn.Linear(),全连接层:将输入值做线性变换
  • ES6 箭头函数的this使用
  • ROS学习第三十五节——URDF集成Gazebo实操
  • CKA证书题库-总结
  • 子元素选择器
  • 计及需求响应的粒子群算法求解风能、光伏、柴油机、储能容量优化配置(Matlab代码实现)