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

贵州省铜仁市城乡建设局网站网站和discuz同步登录

贵州省铜仁市城乡建设局网站,网站和discuz同步登录,两学一做网站网址大全,网站开发团队 需要哪些角色前言 这是我在这个网站整理的笔记,关注我,接下来还会持续更新。 作者:RodmaChen PostgreSQL--实现数据库备份恢复详细教学 一. 数据库备份二. 数据库恢复三. 存留问题 数据库备份恢复功能是每个产品所需的,以下是简单的脚本案例&a…

前言

这是我在这个网站整理的笔记,关注我,接下来还会持续更新。 作者:RodmaChen

PostgreSQL--实现数据库备份恢复详细教学

      • 一. 数据库备份
      • 二. 数据库恢复
      • 三. 存留问题

数据库备份恢复功能是每个产品所需的,以下是简单的脚本案例,满足了大部分备份和恢复需求

关于备份恢复命令可参考这篇文章:PostgreSQL – 备份恢复命令

一. 数据库备份

我创建了back-sql.sh脚本

#!/bin/bash
pg_info=($1)
local_path=$2
ctime=$(date "+%Y%m%d%H%M%S")
backup_path="${local_path}/${ctime}_${pg_info[4]}.sql"
zip_path="${local_path}/${ctime}_sql.zip"
pg_dump  --compress=9  --dbname=postgres://${pg_info[0]}:"${pg_info[1]}"@"${pg_info[2]}":${pg_info[3]}/${pg_info[4]}  --format=custom --file=${backup_path}
cd ${local_path}/
zip -m ${zip_path} "${ctime}_${pg_info[4]}.sql"

linux上执行以下命令就备份成功了

给脚本执行权限
chmod +x back-sql.sh./back-sql.sh "用户名 密码 地址 端口 数据库" 要备份的路径

请添加图片描述

这样就能够备份成功了

请添加图片描述

–compress=9是为了给备份出来的文件压缩,原本备份出来的sql有31M,压缩后就是3M

–format=custom --file=${backup_path}是备份出二进制文件,与pg_restore 配合使用

如果不使用以上两个命令,那么就需要psql命令进行恢复

二. 数据库恢复

我做了点容错,处理逻辑如下

请添加图片描述

创建一个recover-sql.sh脚本

#!/bin/bash
pg_info=($1)
path=$2
ctime=test_$(date "+%Y%m%d%H%M%S")
sql_path=${path}
psql postgres://${pg_info[0]}:"${pg_info[1]}"@${pg_info[2]}:${pg_info[3]}/postgres <<EOF
CREATE database ${ctime};
EOF
pg_restore --exit-on-error --dbname=postgres://${pg_info[0]}:"${pg_info[1]}"@${pg_info[2]}:${pg_info[3]}/${ctime} ${sql_path}
if [ $? -ne 1 ]; thenecho "pg_restore 命令执行成功"psql postgres://${pg_info[0]}:"${pg_info[1]}"@${pg_info[2]}:${pg_info[3]}/postgres <<EOF
SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '${pg_info[4]}' AND pid <> pg_backend_pid();
DROP database IF EXISTS ${pg_info[4]};
ALTER database ${ctime} rename to ${pg_info[4]};
EOF
elseecho "pg_restore 命令执行失败"psql postgres://${pg_info[0]}:"${pg_info[1]}"@${pg_info[2]}:${pg_info[3]}/postgres <<EOF
DROP database IF EXISTS ${ctime};
EOF
fi

linux上执行以下命令就恢复成功了

./recover-sql.sh "用户名 密码 地址 端口 数据库" 你sql文件的地址(列如:/tmp/hwaf2/b.sql)

三. 存留问题

  1. 备份出来的数据库是明文的,可以被随意查看的
  2. 可以随便拿一个sql就能进行恢复,修改掉原来的数据库

针对以上问题,我的方案是对sql文件进行加密。

我通过python使用国密的sm2和sm4进行了尝试,发现如果sql文件过大,加密速度变得很慢,所以这种加密方法明显行不通,不知道各位大神有什么解决方案

作者:RodmaChen
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接。

http://www.yayakq.cn/news/628910/

相关文章:

  • 好看的免费网站模板下载 迅雷下载地址上传网站中ftp地址写什么
  • 有没有免费的网站软件memcached wordpress 慢 卡
  • 用dw做购票网站高端品牌化妆品排行榜前十名
  • 万江区仿做网站做网站每天任务及实训过程
  • 珠海网站开发网站建设中页面
  • 石家庄外贸做网站合肥seo管理
  • 花生壳网站建设上海营销型网站设计
  • 建设部网站质量终身责任承诺书广东省网站设计师
  • 电子商务网站开发数据库表格跨境电商网站平台
  • 做一手房用什么网站好网站建设公司帮企业建站的目的
  • 安全达标建设网站茂名企业网站开发
  • 安徽鲁班建设集团网站高性能网站建设进阶
  • 网站建设一般多少钱官网鞍山网络推广
  • 广州网络网站建设中国十二冶金建设有限公司网站
  • 长春seo技术百度seo官方网站
  • 金华网站建设方案优化南昌手机网站制作
  • 上海外贸网站开发wordpress 后台开发
  • 关掉wordpress站点获取网站缩略图的asp代码
  • 潮州市住房和城乡建设局网站网址域名ip
  • 企业网站建设目标个人网站备案 导航
  • 网站界面设计规划惠州顺德网站建设
  • 惠州网站建设公司曾网站建设uuluoyuan
  • 网站开发网页制作薪资文字控图片在线制作
  • 做网站用什么工具手机端怎么变成电脑端
  • 小程序店铺南京整站优化
  • 网站开发与运用什么是网站名称
  • 《电子商务网站建设》精品课手机html5免费模板
  • 深圳做分销商城网站软件开发工具框图
  • 常平镇仿做网站杭州网站优化排名
  • 国外网站视频播放器app下载软件电脑版安装