mysql 7天后自动删除_zabbix 服务器mysql 数据库自动备份,自动打包,自动删除7天前的包文件。...

#!/bin/bash

#1.数据库信息定义

mysql_host=”127.0.0.1″

mysql_user=”zabbix”

mysql_passwd=”zabbix”

#sql备份目录

root_dir=”/backup”

back_dir=”/backup/databases”

back1_dir=”/backup/database_back”

data_dir=”databases”

store_dir=”database_back”

#日记文件路径

LOGFILE=”/backup/database_back/zabbix_data_backup.log”

if [ ! -d $back_dir ]; then

mkdir -p $back_dir

fi

if [ ! -d $back1_dir ]; then

mkdir -p $back1_dir

fi

#备份的数据库数组

db_arr=$(echo “show databases;” | mysql -u$mysql_user -p$mysql_passwd -h$mysql_host)

#不需要备份的单例数据库

nodeldb=”Database”

nodeldb1=”test”

nodeldb2=”information_schema”

#当前日期

date=$(date -d ‘+0 days’ +%Y%m%d)

#zip打包密码

#zippasswd=”passwd”

zipname=”zabbix”$date”.tgz”

#2.进入到备份目录

cd $back_dir

#开始备份之前,将备份信息头写入日记文件

echo ” ” >> $LOGFILE

echo ” ” >> $LOGFILE

echo “———————————————–” >> $LOGFILE

echo “BACKUP DATE:” $(date +”%y-%m-%d %H:%M:%S”) >> $LOGFILE

echo “———————————————– ” >> $LOGFILE

#3.循环备份

for dbname in ${db_arr}

do

if [ $dbname != $nodeldb -a $dbname != $nodeldb1 -a $dbname != $nodeldb2 ];

then

sqlfile=$dbname-$date”.sql”

mysqldump -u$mysql_user -p$mysql_passwd -h$mysql_host $dbname –skip-lock-tables>$sqlfile

fi

done

#4.tar打包所有的sql文件

tar -zcPpf $root_dir/$store_dir/$zipname /$root_dir/$data_dir

#判断数据库备份是否成功

if [ $? = 0 ]; then

#输入备份成功的消息到日记文件

echo “[$zipname] Backup Successful!” >> $LOGFILE

#删除原始备份文件,只需保 留数据库备份文件的压缩包即可

rm -r $back_dir

else

echo “Database Backup Fail!” >> $LOGFILE

fi

find $back1_dir -mtime +7 -name “*.zip” -exec rm -rf {} \;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值