首页 > 数据库 >PostgreSQL备份脚本

PostgreSQL备份脚本

时间:2023-02-28 16:25:13浏览次数:44  
标签:脚本 PostgreSQL name url 备份 备份文件 base file

1.直接上代码

#!/bin/bash


# 数据库名称
db_name="odoo14e"
# 存放备份文件的url地址
base_url="/home/odoo/pgsql_backup/backup_files/"


# 判断是否存在存放备份文件的url地址文件目录,如果不存在则创建
if [ ! -d $base_url ];then
   mkdir -p $base_url
fi

# 删除5天之前的备份文件
find $base_url -mtime +5 -type f| xargs rm -f

# 用当前日期时间作为文件名称
file_name=`date +%Y-%m-%d_%H`_${db_name}_backups.gz
# 将存放地址和文件名拼接在一起
backups_file_all_url=${base_url}$file_name
# 执行数据库备份命令
pg_dump $db_name | gzip -c > $backups_file_all_url

2.结合crontab实现定时备份功能。

标签:脚本,PostgreSQL,name,url,备份,备份文件,base,file
From: https://www.cnblogs.com/wangdianchao/p/17164731.html

相关文章

  • PostgreSQL技术大讲堂 - Part 6:PG用户与角色管理
     PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同......
  • 免登陆,用脚本提前修改微信、企业微信、QQ的聊天路径
    为什么要改聊天路径微信、企业微信、QQ的聊天记录默认都是放在登陆用户的文档目录下面的登陆用户的文档目录路径C:\Users\%USERNAME%\Documents在我的日常工作中,碰到......
  • 写一个linux 定时器与jar的启动脚本
    1.在etc/crontab写定时执行的脚本SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root#Fordetailsseeman4crontabs#Exampleofjobdefinition:......
  • postgresql VACUUM 不会从表中删除死行的三个原因
    一、为什么是VACUUM?每当更新或删除PostgreSQL表中的行时,都会留下死元组。VACUUM摆脱了它们,以便空间可以重复使用。如果一个表没有被清理,它就会变得臃肿,这会浪费磁盘空间并......
  • Linux 经典脚本
    编写helloworld脚本#!/bin/bash#编写helloworld脚本echo"HelloWorld!"通过位置变量创建Linux系统账户及密码#!/bin/bash#通过位置变量创建Linux系......
  • mybatis plus映射postgreSQL数组
    首先自定义一个数组处理器packagecom.ctsy.l3a1.handler;importorg.apache.ibatis.type.BaseTypeHandler;importorg.apache.ibatis.type.JdbcType;importorg.apa......
  • KingbaseES V8R6 备份恢复案例 -- 自定义表空间指定目录恢复
    ​案例说明:KingbaseESV8R6在通过sys_rman执行物理备份恢复时,可以通过参数‘--kb1-path’,指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立表空间映射,再......
  • navicat从备份文件导入sql
    场景接别人的一个项目bilibili,只有​​.psc​​文件(navicat备份文件)。该如何导入呢?解决方案新建数据库bilibili,双击打开数据库。还原备份从这种直接把数据导入到库里。......
  • oracle 启动实例和关闭实例、及通过脚本重启oracle
    有的说要懂配置文件,太麻烦了。直接命令行操作。过程打开cmd窗口:setORACLE_SID=ORCL#设置环境变量ORCL是要启动的数据库sqlplus/assysdba#和sqlplus/nolog;......
  • doker 使用脚本清理容器日志
    编辑sh脚本,vim/var/lib/docker/containers/cleanLogs.sh输入以下内容:echo"========dockercontainerslogsfilesize========"logs=$(find./-name*-json.log)......