MySQL备份脚本

#!/bin/bash
#backup_mysql_data
#author cy
#2021-02-01
#检查目录权限
BackupDir=/home/backup/
SaveDir=/data/sdv1/backup
fdate=`date "+%Y%m%d%H%M%S"`
chown -R mysql:mysql $BackupDir
chmod -R 775 $BackupDir
chmod -R 775 $SaveDir
#备份database1库
function database1 () {
        echo "`date "+%m %d %H:%M:%S"` Begin backup database1 database" >> $BackupDir/backmysql.log
                if [ ! -d $BackupDir/mysql ];then
                mkdir -p $BackupDir/mysql
                fi
                chown -R mysql:mysql $BackupDir/mysql
        mysqldump -u root -p'YourMySQLPasswd'  database1 > $BackupDir/mysql/database1_$fdate.sql
        echo "`date "+%m %d %H:%M:%S"` backup database1 database done" >> $BackupDir/backmysql.log
}
#备份database2库
function database2 () {
        echo "`date "+%m %d %H:%M:%S"` Begin backup database2 database" >> $BackupDir/backmysql.log
                if [ ! -d $BackupDir/mysql ];then
                mkdir -p $BackupDir/mysql
                fi
                chown -R mysql:mysql $BackupDir/mysql
        mysqldump -u root -p'YourMySQLPasswd' database2 > $BackupDir/mysql/database2_$fdate.sql
        echo "`date "+%m %d %H:%M:%S"` backup database2 database done"  >> $BackupDir/backmysql.log
}
#备份database3库
function database3 () {
        echo "`date "+%m %d %H:%M:%S"` Begin backup database3 database" >> $BackupDir/backmysql.log
                if [ ! -d $BackupDir/mysql ];then
                mkdir -p $BackupDir/mysql
                fi
                chown -R mysql:mysql $BackupDir/mysql
        mysqldump -u root -p'YourMySQLPasswd' database3 > $BackupDir/mysql/database3_$fdate.sql
        echo "`date "+%m %d %H:%M:%S"` backup database3 database done"  >> $BackupDir/backmysql.log
}
#压缩删除备份文件
function compress () {
        echo "`date "+%m %d %H:%M:%S"` Begin complete database " >> $BackupDir/backmysql.log
                chown -R mysql:mysql $BackupDir
                cd $BackupDir
                tar -cf mysql_$fdate.tar mysql
                if [[ $? -eq 0 && -s mysql_$fdate.tar ]];then
                echo "`date "+%m %d %H:%M:%S"` data compress done" >> $BackupDir/backmysql.log
                find $BackupDir -mtime +3 -exec rm -rf{} \;
                fi
                if [ ! -d $SaveDir ];then
                mkdir -p $SaveDir
                fi
                cd $BackupDir
                \cp mysql_$fdate.tar $SaveDir
                echo "`date "+%m %d %H:%M:%S"` cpoy data to savedir done" >> $BackupDir/backmysql.log
                #判断备份文件数是否大于3
                nuf=`find $SaveDir -name '*.tar' -size +10M|wc -l`
                if [[ $? -eq 0 && $nuf -gt 3 ]];then
                #删除7天之前的数据
                find $SaveDir -name '*.tar' -mtime +7 -exec rm -rf {} \;
                echo "`date "+%m %d %H:%M:%S"` delete nfs than 7 days"  >> $BackupDir/backmysql.log
                fi
        echo `date "+%m %d %H:%M:%S"` "All is OK" >> $BackupDir/backmysql.log
                \cp -r $BackupDir/backmysql.log $SaveDir
}
database1
database2
database3
compress
echo "mysql数据库备份完成"

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曹宇飞丶

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值