操作系统: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环境变量
变量的值被使用。