zoukankan      html  css  js  c++  java
  • PgSQL定时备份

    1,  综述:

    下面主要是通过SQL转储的方式备份PostgreSQL, SQL 转储的方法是创建一个文本文件,这个文本里面都是 SQL 命令,当把这个文件回馈给服务器时,将重建与转储时状态一样的数据库。

    2,   备份命令

    (1)  PostgreSQL 自带的内置备份工具叫做 pg_dump

    实例:

    #su  - postgres
    #cd/usr/local/postgressql/bin
    #./pg_dump mydb > test_db.out

    从转储中恢复

    #./created restoredb
    #./psql –d restoredb < test_db.out

         (2) 当遇到大数据库时候,请使用以下方式

         实例:

    #su  - postgres
    #cd /usr/local/postgressql/bin
    #./pg_dump –Ft –b mydb > test_db.tar

    恢复大数据库

    #./created restored
    #pg_restore –d restored test_db.tar

     

    (3)  备份整个数据库使用pg_dumpall

    实例:

    #su - postgres
    #cd /usr/local/postgressql/bin
    #./pg_dumpall  –U postgres > alldb.out

    恢复数据库

    #./psql –Upostgresql < alldb.out

    一旦恢复成功,建议使用

    #vacuumdb -a –z

     

    3,  计划备份任务

    (1)    编写一个备份脚本

    #vim /home/postgres/backup.sh

    #shell variables
    date_now=`date +%Y%m%d`
    back_dir=./
    back_log_dir="./backup.log"
    rmback_log_dir="./rmback.log"
    #postgresql bakup
    /usr/local/postgressql/bin/pg_dump  -U postgres mydb >$back_dir/$date_now.out
    if [ $? = 0 ];then
    echo "$date_now postgresql backup success" >>$back_log_dir
    echo "" >> $back_log_dir
    else
    echo "$date_now postgresql backup failed" >> $back_log_dir
    echo "" >>$back_log_dir
    fi
    
    #rm back files
    find $back_dir -mtime +8 -exec rm -fr {} \;
    if [ $? = 0 ];then
    echo "$date_now rm backup files successful">>$rmback_log_dir
    echo "" >>$rmback_log_dir
    else
    echo "$date_now rm backup files failed">>$rmback_log_dir
    echo "" >>$rmback_log_dir
    fi
    #chmod –R 777 backup.sh
    #mkdir –p /data/backupdb
    #mkdir –p /var/log/pgsqllog/rmback
    #chown –R postgres /data/backupdb
    #chown –R postgres/var/log/pgsqllog/rmback
    #crontab -u postgres –e
    0 3 * * * /home/postgresql/backup.sh

    http://j3j5.com/post-129.crontab -u postgres –e

  • 相关阅读:
    【分布式】Zookeeper会话
    【分布式】Zookeeper客户端
    【分布式】Zookeeper序列化及通信协议
    【分布式】Zookeeper系统模型
    【分布式】Zookeeper在大型分布式系统中的应用
    【分布式】Zookeeper应用场景
    【分布式】Zookeeper使用--开源客户端
    【分布式】Zookeeper使用--Java API
    【分布式】Zookeeper使用--命令行
    【杂文】从实习到校招到工作
  • 原文地址:https://www.cnblogs.com/shuaixf/p/2695245.html
Copyright © 2011-2022 走看看