zoukankan      html  css  js  c++  java
  • 一个 Pg_dump SHELL 脚本

    一个 Pg_dump SHELL 脚本

    最近有个处于开发阶段的项目需要DBA介入,希望DBA对这个项目的数据库进行备份。要到主机帐号后,先对数据库进行一翻熟悉,发现上面有虽然有9个库,但是数据量都不大,除了一个库有5G左右,其它的都在1G以下,因为目前业务还没完全上线,等以后业务起来后数据量应该会大些, 由于数据库不是很大,并且和项目发员沟通后,只需要一周备一次,于是决定用pg_dump方式备份,以下是详细内容。

    备份脚本 dump_db.sh 内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # The folling is database dump shell  
    #!/bin/bash
    export PGHOME=/usr/local/pgsql
    export PGPORT=5432
    export PGDATA=/usr/local/pgsql/data
    export PATH=$PGHOME/bin:$PATH
    CUR_DATE=`date +%Y%m%d`
    #Loading config-file
    CONFIG_FILE="/appt/pgbackup/db.config" #Set config file
    . ${CONFIG_FILE}
    #Data directory
    SAVE_BASE_DIR="/appt/pgbackup/dump_dir"
    DAT_FILE_DIR="${SAVE_BASE_DIR}/${CUR_DATE}"
    if [ -d ${DAT_FILE_DIR} ]
    then :
    else
    mkdir -p ${DAT_FILE_DIR}
    fi
    # The reall backup process !
    echo "`date +%F %T` begin backup db "
    for db_name in ${db_name[@]}
    do
    pg_dump -E UTF8 -Fc ${db_name} -U postgres -v > ${DAT_FILE_DIR}/${db_name}_${CUR_DATE}.dmp
    done
    echo "`date +% F%T` end backup db "

    db.config 脚本内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    db_name[1]=db_name1  
    db_name[2]=db_name2
    db_name[3]=db_name3
    db_name[4]=db_name4
    db_name[5]=db_name5
    db_name[6]=db_name6
    db_name[7]=db_name7
    db_name[8]=db_name8
    db_name[9]=db_name9

    将备份脚本写入任务计划

    每周三零晨四点备份

    1
    2
    ###Backup maopao db every week###  
    0 4 * * 3 /appt/pgbackup/dump_db.sh >>/appt/pgbackup/log/dump.err 2>&1
  • 相关阅读:
    版本号中Snapshot的含义
    Spring Security 过滤器链
    Spring Security入门
    签个到
    Centos下Mysql密码忘记解决办法
    idea 修改静态资源不需要重启的办法
    X509证书信任管理器类的详解
    一、DES加密和解密
    Spring Boot中的事务管理
    SpringBoot JPA实现增删改查、分页、排序、事务操作等功能
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/14966380.html
Copyright © 2011-2022 走看看