#!/bin/sh

# Database backup script
# Backup use postgres pg_dump command:
# pg_dump -U <user> -Fc <db> > <DB_DUMP_FILE>
# To restore, use postgres pg_restore command:
# pg_restore -d postgres <DB_DUMP_FILE> HOST_IP=`/sbin/ifconfig | sed -n 's/.*inet addr:\([0-9.]\+\)\s.*/\1/p' | head -n1`
POSTGRES_HOME=/opt/postgres
BACKUP_DIR=/backup/$HOST_IP
BACKUP_FILENAME_PREFIX="db_backup_"
CURRENT_TIME=`date +'%Y-%m-%d_%H%M%S'`
KEEP_DAYS= mkdir -p $BACKUP_DIR BACKUP_FILE=$BACKUP_DIR/$BACKUP_FILENAME_PREFIX$CURRENT_TIME.dump echo "`date` starting database backup: $BACKUP_FILE" #full database backup
$POSTGRES_HOME/bin/pg_dump -U postgres -Fc postgres > $BACKUP_FILE echo "`date` database backup completed: $BACKUP_FILE" #delete files older than $KEEP_DAYS
find $BACKUP_DIR -mtime +$KEEP_DAYS -exec rm {} \;

postgresql backup的更多相关文章

  1. postgresql 常用数据库命令

    连接数据库, 默认的用户和数据库是postgrespsql -U user -d dbname 切换数据库,相当于MySQL的use dbname\c dbname列举数据库,相当于mysql的sho ...

  2. PostgreSQL的.NET驱动程序Npgsql

    Npgsql是PostgreSQL的一个.NET数据提供程序,它可以自由获取.它可以通过下列选项获得独立的下载,也可以安装PostgreSQL数据库程序时选择安装. 最新的_npgsql2 Npgsq ...

  3. [转] postgresql常用命令

    PS: 数据库安装后,里面的每个数据库有自己的用户密码,需要dump的时候,指定用户pg_dump -U xxx <数据库>  > 某个地址 最近一直在学习Postgresql,下面 ...

  4. PostgreSQL定时自动备份

    PostgreSQL定时自动备份 简介 PostgreSQL数据库中未提供数据库的定时备份功能,所以需要结合备份和定时job功能来共同实现. 这里我选取了2种定时job方式,crontab是Linux ...

  5. How to trigger a Kubernetes cronjob manually-手动触发一个cronjob

    What should you do when you’ve developed and installed a cron job for your Kubernetes application, a ...

  6. pgsql常用命令

    连接数据库, 默认的用户和数据库是postgres psql -U user -d dbname 切换数据库,相当于mysql的use dbname \c dbname 列举数据库,相当于mysql的 ...

  7. pgAgent设定定时备份

    PostgreSQL定时自动备份 简介 PostgreSQL数据库中未提供数据库的定时备份功能,所以需要结合备份和定时job功能来共同实现. 这里我选取了2种定时job方式,crontab是Linux ...

  8. Postgres常用命令之增、删、改、查

    增.删.改.查: postgres=# \password postgres 为postgres进行密码设置: postgres=# CREATE USER test WITH PASSWORD '1 ...

  9. 如何将扩展名为.backup的文件导入postgresql中 求步骤 新手 谢谢.

    1.到www.postgresql.org下载pgadmin这个工具,安装好2.在菜单-文件-新增服务器 名称:TEST-PGSQL(名称自己编) 主机:填上你postgresql数据库的服务器ip地 ...

随机推荐

  1. 终端、虚拟终端、shell、控制台、tty的区别

    终端与控制台的区别? 最近开始接触Linux,终端.虚拟终端.shell.控制台.tty等概念让我很混乱,有必要认识清楚. 今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时 ...

  2. CNN-3: VGGNet 卷积神经网络模型

    1.VGGNet 模型简介 VGG Net由牛津大学的视觉几何组(Visual Geometry Group)和 Google DeepMind公司的研究员一起研发的的深度卷积神经网络,在 ILSVR ...

  3. Appium+python启动虚拟机上的app

    查看appPackage和appActivity方法: 1.先在cmd命令行输入  adb logcat ActivityManager:I *:s 2.点击虚拟机启动app即可查看,/前是appPa ...

  4. 1.1Spring Boot 环境配置和常用注解

    Spring Boot常用注解:@Service: 注解在类上,表示这是一个业务层bean@Controller:注解在类上,表示这是一个控制层bean@Repository: 注解在类上,表示这是一 ...

  5. 数位dp踩坑

    前言 数位DP是什么?以前总觉得这个概念很高大上,最近闲的没事,学了一下发现确实挺神奇的. 从一道简单题说起 hdu 2089 "不要62" 一个数字,如果包含'4'或者'62', ...

  6. linux破解navicat for mysql

    第一次执行start_navicat时,会在用户主目录下生成一个名为.navicat64的隐藏文件夹. cd ~/.navicat64 此文件夹下有一个system.reg文件 rm system.r ...

  7. 1187: 零起点学算法94——今年暑假不AC(Java)

    1187:零起点学算法94--今年暑假不AC Time Limit: 1 Sec Memory Limit: 32 MB 64bit IO Format: %lld Description " ...

  8. Scratch2.0教材(9)——合体大变身

    教材说明 ——————— 1.本教材共96节课,适用于3-5年级.40人.40分钟的课堂: 2.初期我会把每节课的代码控制在10行以内,后期再逐渐增加: 3.欢迎提意见. 课程摘要 ——————— [ ...

  9. 怎样理解Object.create()方法

    Object.create()是一个用于生成新的对象的方法, 特点是: 1. Object.create()接收的第一个参数对象将会作为待生成的新对象的原型对象; 2. Object.create() ...

  10. 【SQL Server性能优化】运用SQL Server的全文检索来提高模糊匹配的效率

    原文:[SQL Server性能优化]运用SQL Server的全文检索来提高模糊匹配的效率 今天去面试,这个公司的业务需要模糊查询数据,之前他们通过mongodb来存储数据,但他们说会有丢数据的问题 ...