1 Star 0 Fork 1

网络工作室/linux_kvm

forked from s1302888/linux_kvm 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
postgre数据库备份 1.58 KB
一键复制 编辑 原始数据 按行查看 历史
s1302888 提交于 2018-02-01 16:58 . 更新 postgre数据库备份
首先新建一个挂载文件夹
mkdir /opt/tools/postgre_backup
在服务器端也新建一个文件夹
mkdir /opt/uss/postgre_backup
然后在/etc/exports中添加挂载文件夹
/opt/uss/postgre_backup uss.no1(rw,no_root_squash,sync)
执行命令 exportfs -a 使配置生效
在客户端将文件夹挂载上去
mount -t nfs dtitools.com:/opt/uss/postgre_backup /opt/tools/postgre_backup
这样这个文件夹就实现了同步共享
现在做成一个备份脚本,进行数据库备份
postgre_bak.sh:
#!/bin/bash
#取得当前时间,大写Y取的是整个年份(如2018),而小写y则是取的年份后两位(如18)
cur_time=$(date '+%Y-%m-%d')
#取得当前时间的前一天,-1days就是减去1天
oneday_time=$(date -d -1days '+%Y-%m-%d')
echo "starting backup PostgreSQL"
cd /opt/tools/postgre_backup
#删除之前一天的备份文件
rm -rf $oneday_time.pgsqlbak.dmp
echo "delete $oneday_time backup file"
#生成数据库备份
pg_dumpall -U postgres -p 5432 >"$cur_time.pgsqlbak.tmp"
echo "finish backup!"
这样一个简单的脚本就算写完了
之后只要让这个脚本定时执行,整个数据库备份就算完成了
备份的数据库数据会在客户端和服务器端各保留一份,这样即使客户端挂了,服务器端还能保留有一份备份
要实现定时执行脚本,需要安装crontab
yum -y install vixie-cron
yum -y install crontab
service crond start
chkconfig crond on
在/etc/crontab中,添加相应的脚本
01 12 * * * root /opt/tools/postgre_bak.sh
minute hour day month dayofweek command
每天的12:01执行一次
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jf12458/linux_kvm.git
git@gitee.com:jf12458/linux_kvm.git
jf12458
linux_kvm
linux_kvm
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385