centos创建shell脚本对postgresql数据库操作

vim psqlDB.sh
#!/bin/bash

###################################配置##############################################
#数据库连接配置
#ip地址
DBHOST="localhost"
#端口
DBPORT="5432"
#用户名
DBUSER="postgres"
#密码
#DBPW="123456"

#id自增起始值
PUBLIC_SEQ=1000000
################################方法###############################################

#删库
function dropDatabase () {
    #这的$1表示再调用方法传进来的参数
     echo "删除数据库: $1"
    `psql -h"${DBHOST}" -p"${DBPORT}" -U"${DBUSER}" -c"DROP DATABASE IF EXISTS $1"`
}

#建库
function createDatabase () {
    #这的$1表示再调用方法传进来的参数
    echo "创建数据库: $1"
    `psql -h"${DBHOST}" -p"${DBPORT}" -U"${DBUSER}" -c"CREATE DATABASE $1"`
}

#建表
function createTable() {
    #这的$1和$2表示再调用方法传进来的参数
    echo "建表: $2"
    `psql -h"${DBHOST}" -p"${DBPORT}" -U"${DBUSER}" -d"$1" -c"$2"`
}


#插入
function insertTable() {
    `psql -h"${DBHOST}" -P"${DBPORT}" -U"${DBUSER}" -d"$1" -c"$2"`
}

#清表$1是库名,$2是表名
function cleanTable() {
     `psql -h"${DBHOST}" -p"${DBPORT}" -U"${DBUSER}" -d"$1" -C"TRUNCATE TABLE $2"`
}

#导出
function exportTable() {
    `psql -h"${DBHOST}" -p"${DBPORT}" -U"${DBUSER}" -d"$1" -c"$2"`
}

#######################################执行##########################################

D1="db_admin_manage"
D2="db_work_event"
D3="db_work_log"
D4="db_work_statis"
D5="db_work_template"

######执行删库
dropDatabase ${D1}
dropDatabase ${D2}
dropDatabase ${D3}
dropDatabase ${D4}
dropDatabase ${D5}

保存退出之后

chmod a+x psqlDB.sh

#!/bin/bash
###################################配置##############################################
#数据库连接配置
#ip地址
DBHOST="127.0.0.1"
#端口
DBPORT="5432"
#用户名
DBUSER="postgres"
#获取当前时间
TIMED=`date +"%y%m%d"`
#备份文件存放路径
SAVEPATH="/data/dbData_MT/"
#执行的数据库
DBARR=("db_admin_manage" "db_work_template")
################################方法###############################################

#备份数据的方法
function saveDatabase () {
    #这的$1表示再调用方法传进来的数据库名称
     echo "备份数据库: $1"
     #判断文件夹是否存在
     #if [ ! -d "${SAVEPATH}" ]
     #  then
     #  echo "创建目录:${SAVEPATH}"
     #  mkdir ${SAVEPATH}
     #fi
    #备份文件
    `pg_dump -h"${DBHOST}" -p"${DBPORT}" -U"${DBUSER}" $1 >${SAVEPATH}/$1.bak`
}


#######################################执行##########################################

for dbName in ${DBARR[@]}
do
 saveDatabase ${dbName}
done


#进入目录
#`cd ${SAVEPATH}`
#压缩文件
`tar czvf ${SAVEPATH}${TIMED}.tar.gz ${SAVEPATH}${DBARR[0]}.bak ${SAVEPATH}${DBARR[1]}.bak ${SAVEPATH}${DBARR[2]}.bak ${SAVEPATH}${DBARR[3]}.bak ${SAVEPATH}${DBARR[4]}.bak`
#删除文件
`rm -rf ${SAVEPATH}${DBARR[0]}.bak ${SAVEPATH}${DBARR[1]}.bak ${SAVEPATH}${DBARR[2]}.bak ${SAVEPATH}${DBARR[3]}.bak ${SAVEPATH}${DBARR[4]}.bak`

猜你喜欢

转载自blog.csdn.net/qq_38279833/article/details/102579588
今日推荐