mysql数据库备份

/*备份数据库*/
mysqldump -uroot -p --all-databases --master-data --single-transaction> /data/mysqlall.sql

注:现有业务库备份(database_name1 database_name2 database_name3 生产环境中真实数据库名称)
mysqldump -u root -p --databases database_name1 database_name2 database_name3    --master-data --single-transaction> /data/mysqlall.sql


mysql -uroot -p >source /data/mysqlall.sql

/*多个数据库同时备份脚本*/
# vi backup.sh
 
#!/bin/bash
 
Date=`date +%Y%m%d`
olddate=`date +%Y%m%d -d "-7 days"`
db_user='mysql'
db_passwd='123'
db_name='database_name1 database_name2 database_name3 mysql'
mkdir  /usr/local/apache/backup/$Date
mkdir  /data/logs/$Date
rm -rf  /data/logs/$olddate
rm -rf /usr/local/apache/backup/$olddate
for i in $db_name
do
echo "$i backup begin at  `date +%H:%M:%S`" >> /data/logs/$Date/backup.log
mysqldump -u $db_user -p$db_passwd $i | gzip > /usr/local/apache/backup/$Date/$i-$(date +%y%m%d).sql.gz
echo "$i backup begin at  `date +%H:%M:%S`" >> /data/logs/$Date/backup.log
done
echo "all databases backup over!" >> /data/logs/$Date/backup.log
 
 
 #!/bin/bash
PID=$(ps -ef | grep test-service.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill -9  $PID
fi

脚本注释:
 
1、同时备份数据库database_name1、 database_name2 、database_name3,并压缩成.gz文件,并删除7天前的备份文件,备份文件格式为mysql-20230201.sql.gz(即2023年02月01日)
2、记录数据库开始备份的时间和结束备份的时间(几点几分几秒)
 

添加定时任务

crontab -e

0 2 * * * /data/backup.sh

查看定时任务 crontab -l


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值