Linux怎么周期性备份,LINUX下的pg_dump的周期性备份

操作系统:CentOS的

DB:PostgreSQL9.3 OS用户:Postgres的

一,编写pg_dump的备份脚本:

01

#一周内每天1-7开始MON = 1

02

DOW =`日期+“%U”`

03

04

#定义变量

05

DB_INSTALL_DIR ='/ opt/PostgreSQL/9.3

06

#DB_TYPE ='PostgreSQL的

07

#DB_SERVER = '127 .0.0.1'

08

#DB_PORT = '5432'

09

DB_INSTANCE ='mydb的'

10

DB_USER ='Postgres的

11

DB_PASSWORD ='Postgres的

12

DB_STORAGE ='/家庭/ Postgres的/备份'

13

14

#指定的postgres密码在PGPASSWORD VAR

15

#pg_dump时不提示输入密码

16

出口PGPASSWORD = $ DB_PASSWORD

17

18

#切换到bin目录。

19

CD $ DB_INSTALL_DIR / BIN

20

21

#运行pg_dump的

22

/ pg_dump的-F $ DB_STORAGE / $ {DOW} mydb.sql的U $ DB_USER-F对美元DB_INSTANCE

将以上脚本保存到/家庭/ Postgres的/备份/ backup.sh。

二,设置脚本执行计划(定时或周期性):

每个用户都有各自不同的计划任务列表,用各自的帐户苏的用户名登录后,

执行的crontab-L命令可查看到各任务的计划任务情况,

执行的crontab-E进入vi的模式,可以修改自己的计划任务,

每次添加完任务后,一定要服务的crond

之后系统会按照设置定时或者周期地执行执行脚本。

1

苏Postgres的

2

的的crontab-l

3

的crontab-E

进入六世模式,添加相应的脚本执行计划,如:

* / 2 **** root身份执行部件/家庭/ Postgres的/备份/ backup.sh中表示每隔2分钟执行一次backup.sh中,即每隔2分钟备份一次;

或者0 2 *** root身份执行部件/家庭/ Postgres的/备份/ backup.sh中表示每天的2点执行一次backup.sh中,即每天2点备份一次。

1

苏根

2

重新启动服务的crond

附注:

1,设置的shell脚本定期执行

通过的crontab-E 添加的内容(此处为* / 2 **** root身份执行部件/家庭/ Postgres的/备份/ backup.sh)。

2.crontab crontab的用法:[-u用户]文件

[-u用户的crontab] [-E-L |-R]

(默认操作是替换,每1003.2)

-E(编辑用户的crontab)

-L(列表用户的crontab)

-R(删除用户的crontab)

-I(前提示删除用户的crontab)

(SELinux上下文)

3.pg_dump用法:

pg_dump的[选项] ... [DBNAME】。

一般选项:

-F, - 的文件=的FILENAME输出文件或目录名称

-F, - 格式= C | D | T | p输出文件格式(定制,目录,焦油,

纯文本(默认))

-J, - 工作= NUM使用此倾倒许多并行作业

-V, - verbose详细模式

-V, - version输出版本信息,然后退出

-Z, - compress压缩= 0-9压缩格式的压缩级别

- 锁等待超时超时表锁等待超时后失败

- , - help显示此帮助,然后退出

选项输出控制内容:

-A, - 数据只只转储数据,而不是架构

-B, - 斑点包括转储大对象

-C, - 清洁干净(降)创建数据库对象前

-C - 创建包括命令来创建数据库转储

-E, - 编码=编码编码编码数据转储

-N, - 架构模式转储命名模式()

-N, - 排除模式= SCHEMA不转储命名模式(S)

-O, - 的OID的包括在转储的OID

-O - 无所有者跳过恢复对象的所有权

纯文本格式

-S, - 模式只只转储模式,没有数据

-S, - 超级用户名称中使用纯文本格式的超级用户名

-T, - 表=表转储命名表(S)

-T, - 排除表=表不倒的命名表(S)

-X - 无特权不转储权限(GRANT / REVOKE)

- 二进制升级只升级实用程序使用

- 列作为列名的INSERT命令插入转储数据

- 禁用美元的报价停用美元报价,请使用SQL标准的引用

- disable-triggers的数据只能恢复期间禁止触发器

- 排除表数据不倒=表命名表(数据)

- 插入数据转储为INSERT命令,而不是COPY

- 不要倒没有安全标签防伪标签分配

- 不同步快照不使用快照同步并行作业

- 表空间不转储的表空间分配

- 无未记录表数据不倾倒未记录表数据

- 报价标识符引用的所有标识符,即使不是关键词

- 部分=部分转储命名的段(前数据,数据或数据后)

- 串行化延迟的等待,直到转储可以运行无异常

- 使用设置会话授权

而不是使用SET SESSION授权命令

ALTER所有者所有权设置

连接选项:

-D, - DBNAME = DBNAME数据库转储

-H, - 主机= HOSTNAME数据库服务器主机或插座目录

-P, - 端口= PORT数据库服务器端口号

-U - 连接指定的数据库用户名= NAME

-W, - 没有密码永不提示密码

-W - password强制口令提示(应该自动发生)

- 角色= ROLENAME SET ROLE转储前

如果没有提供数据库名字,那么PGDATABASE环境变量

变量的值被使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值