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`