#备kdir=/data/backup/fileback份存储路径# 加判断是否存在,创建、报警,继续备份bakdir=/data/pg_bak #要备份的路径#filedir=/docker/bitbucket/var/#备份日志记录logdir=/tools/backup/pgbaklog/`date +%w`pgbak.log #邮件接收人receive=xxx@163.com #获取ipget_ip() { ) cmd_get_ip=$(/sbin/ifconfig |grep "192.168.1\." |awk -F ' ''{print $2}'|tr -d "地址:"|tr -d "addr:")echo$cmd_get_ip} ip=$(get_ip)#清理过期文件,执行备份bak() { #进入备份存储路径cd$bakdir# 清理6天前的备份find ./ -name \*.sql.gz -mtime+6-delete#进入目录# cd $filedir#执行备份#开始备份/usr/local/postgsql/bin/pg_dump -U User -F c dbname| gzip > erp$(date +%Y%m%d%H%M%S).sql.gz echo$? >> /tools/lxj-bakpg.log a=`cat /tools/lxj-bakpg.log`if [ 0 !=$a ];then echo$ip"---erp数据库备份失败" | mail -s$ip'--erp数据库备份失败'$receivefi} dubakdir() { # 备份完成邮件通知备份情况echo-e"备份存储路径:$bakdir\\n`ls -lh $bakdir/`" | mail -s$ip'数据库备份情况成功'$receive} if [ -d$bakdir ];then bak dubakdir elseecho$ip'备份存储路径被删除,即将重新建立,继续备份'| mail -s$ip'备份路径异常'$receivemkdir-p$bakdir bak dubakdir fi