PostgreSQL简单的数据库备份

本文介绍在CentOS7上使用PostgreSQL10进行数据库备份的方法。通过编写shell脚本实现定时备份,包括如何设置cron任务及脚本权限。同时,提供了一个用于清理旧备份的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pg的一些简单的运维知识

centos7 、PostgreSQL10

一、粗略的数据库备份脚本

粗略的备份某个数据,例如:在每天23点备份这个 technology 数据库。
第一步:编写shell脚本 : backup.sh

#! /bin/sh
da=`date +%Y%m%d%H%M%S`
echo $da

pg_dump mydb > /var/lib/pgsql/10/backups/mydb$da.dmp

find /var/lib/pgsql/10/backups -type f -mtime +7 -delete

echo ok!

注意将这个脚本放置在/var/lib/pgsql/10/
另外需要确定该脚本的权限设置为可执行

第二步:添加到crontab

crontab -e

0 23 * * * /var/lib/pgsql/10/backup.sh

案例

[root@uzong 10]# pwd
/var/lib/pgsql/10
[root@uzong 10]# ll
total 20
-rw-r--r--  1 root     root      166 Jul  3 19:42 backup
drwx------  2 postgres postgres 4096 May  8 18:25 backups
-rw-r--r--  1 root     root      178 Jul  3 19:44 backup.sh
drwx------ 20 postgres postgres 4096 Jul  3 00:00 data
-rw-------  1 postgres postgres  875 Apr 11 15:05 initdb.log
[root@uzong 10]# cat backup.sh 
#! /bin/sh
da=`date +%Y%m%d%H%M%S`
echo $da

pg_dump technology > /var/lib/pgsql/10/backups/technology$da.dmp

find /var/lib/pgsql/10/backups -type f -mtime +5 -delete

echo ok!
[root@uzong 10]#

为了测试,写一个1min中的调动。

crontab -e
*/1 * * * *  /var/lib/pgsql/10/backup.sh

完成下面备份
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值