Linux下PG数据库计划任务定期备份恢复的方法
2023-09-27 14:24:14 时间
注意事项
- PG数据库需要注意的一点是需要安装OSSP-UUID的组件才能使用.
- 本次使用最除了冷备之外 最简单的 pg_dump和pg_restore的操作 的方式来进行处理
- 务必定期演练保证数据备份恢复可用
- 建议咨询数据库专家提供服务, 此命令在不进行严格测试前不建议用于生产.
备份过程
pg_dump -h 127.0.0.1 -U postgres -p 5432 -F c -f /gscloud2003pg.dmp gscloud2003
- 注意 备份命令比较简单. -h 指定服务器 -U 知道备份用的用户 -p 指定端口 -f 指定备份文件 最后面说明 要备份的数据库.
- 备份完成后就可以在根目录下看到备份文件.
- 注意PG的备份时没有任何提示. 如果数据库比较大可能会耗时较久.
- 注意备份出来的文件,如果是同名恢复非常简单不需要处理, 如果是异名恢复, 需要修改数据库内部的属主信息.
- 注意如果root用户没有执行pg_dump的指令的话, 可以到pg的安装目录下执行相关操作.
恢复操作
- 创建相关用户, 尽量同名恢复, 注意不直接覆盖生产环境, 避免数据丢失
切换到 pg的系统用户
su - postgres
登录 数据库
psql
创建表空间和用户等信息
创建用户
create role "gscloud2003" superuser login;
创建数据库
create database "gscloud2003" ;
设置密码
alter role "gscloud2003" with password 'Test20131127';
#注意使用双引号 比较好 能够 包含大小写的数据库名字 .
执行恢复操作.
pg_restore -U postgres -d gscloud2003 /gscloud2003pg.dmp
创建备份脚本
- 将备份数据库的命令设置为一个shell 脚本
- 注意我这里是使用的rpm 安装的pg数据 pg_dump等的命令切实存在于环境里面
- 增加一个文件: /deploy/backuppg
- 输入内容为: 注意 需要替换你自己的password. 会自动按照你备份的年月日时分 来创建备份文件.
export PGPASSWORD=YourDBPassword
export now=`date +"%Y%m%d%H%M"`
pg_dump -h 127.0.0.1 -U GSCLOUD2103PG -p 5432 -F c -f /pgbackup/gscloud2103pg_$now.dmp GSCLOUD2103PG
创建计划任务
- 输入
crontab -e
进入计划任务设置界面. - 注意需要保证crond 服务保持开启状态.
- 注意需要优先保证自己的脚本是准确可执行的.
1 0 * * * /deploy/backuppg
- 注意
crontab -e
打开的界面里面 - 分别对应为: 分 秒 日 月 周 执行命令
- 比如本次的命令就是凌晨 0点1分进行数据库备份操作
注意事项
- 必须定义备份恢复演练.数据安全大于天
- 任何脚本和任何操作都是靠不住的, 必须人工验证备份可用, 可以恢复, 数据不会丢失.
相关文章
- 【数据库开发】在Windows上和Linux上配置MySQL的过程
- mysql-linux定时备份mysql数据库
- kali Linux 上编译并使用RFID核弹——proxmark3
- linux新安装了php,但是使用mysqli连接数据库一直超时
- linux 安装软件之----------CentOS6.5安装与配置Mysql数据库
- [转载]Linux下非root用户如何安装软件
- Linux下数据库备份恢复过程
- [工作相关] GS产品使用LInux下Oracle数据库以及ASM存储时的数据文件路径写法.
- Linux系统案例精解——存储、Oracle数据库、集群、性能优化、系统管理、网络配置
- 查看linux中某个端口(port)是否被占用
- [数据库/Linux]CentOS7安装MySQL Percona版(RPM方式)
- 如何在linux下实现mysql数据库每天自动备份
- linux 下备份MySQL数据库 并删除7天前的备份数据
- 鸟哥的linux私房菜之vim
- 向linux kernel中添加cmdline的四种方式
- Linux 利用宏和printf定义特殊的输出(转载)
- 使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
- 【Socket】linux组播技术
- Linux下数据库的安装和使用
- Linux bzmore / bzless 命令
- 蜕变成蝶~Linux设备驱动中的阻塞和非阻塞I/O
- Linux启动/停止/重启Mysql数据库的方法
- linux下如何实现mysql数据库每天自动备份定时备份
- Elasticsearch集群部署(Linux || Windows)
- 【mysql】Linux 启动 / 停止 / 重启 Mysql 数据库的方法
- 通过句柄恢复Linux下误删除的数据库数据文件