linux Centos 自动备份mysql

本文介绍如何使用bash脚本实现MySQL数据备份,并通过定时任务自动执行,确保数据安全性和完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建备份文件夹

cd /mnt/cp_disk/
mkdir backup
cd backup
mkdir databak
mkdir db
mkdir  logs
 

2、编写执行脚本

#!/bin/bash
backup_dir=/mnt/cp_disk/backup/databak   #备份临时文件存放目录
backup_target_dir=/mnt/cp_disk/backup/db   #备份文件存放目录
backup_logs_dir=/mnt/cp_disk/backup/logs   #备份日志目录
db=gzcpc
DATE=$(date +%Y%m%d)
#得到10天前的日期
ccDATE=$(date "-d 10 day ago" +%Y%m%d)
echo "开始复制数据表"  >> $backup_logs_dir/$db$DATE
echo "-----------`date +"%Y-%m-%d %H:%M:%S"`--------------------"  >> $backup_logs_dir/$db$DATE
cp -R /var/lib/mysql/$db $backup_dir/   #mysql数据库的数据目录为/var/lib/mysql/
echo "开始压缩数据表"  >> $backup_logs_dir/$db$DATE
echo "------------------------"  >> $backup_logs_dir/$db$DATE
cd $backup_dir
tar -zcvf  $db$DATE.tar.gz $db/ && echo "压缩表结束" >> $backup_logs_dir/$db$DATE
mv $db$DATE.tar.gz $backup_target_dir/ && echo "转移成功" >> $backup_logs_dir/$db$DATE
if [ $? -eq 0 ]
then
 echo "backup succeed" >> $backup_logs_dir/$db$DATE
else
 echo "backup fail" >> $backup_logs_dir/$db$DATE
fi
echo "开始删除原数据表"  >> $backup_logs_dir/$db$DATE
echo "-----------------------"  >> $backup_logs_dir/$db$DATE
rm -rf $backup_dir/* && echo "删除原数据表"  >> $backup_logs_dir/$db$DATE
echo  "删除10天前数据" >>$backup_logs_dir/$db$DATE
if [ -e $backup_target_dir/db$ccDATE.tar.gz ]
then
 rm -rf $backup_target_dir/db$ccDATE.tar.gz
 echo "Delete $backup_target_dir/db$ccDATE.tar.gz succeed" >>$backup_logs_dir/$db$DATE
else
 echo "Not found $backup_target_dir/db$ccDATE.tar.gz file" >>$backup_logs_dir/$db$DATE
fi
if [ -e $backup_logs_dir/$db$ccDATE ]
then
 rm -rf $backup_logs_dir/$db$ccDATE
 echo "Delete $backup_logs_dir/$db$ccDATE succeed" >>$backup_logs_dir/$db$DATE
else
 echo "Not found $backup_logs_dir/$db$ccDATE file" >>$backup_logs_dir/$db$DATE
fi


3、赋予脚本权限

chmod 755 /home/backup_mysql.sh

4、创建定时任务

crontab –e
1 0 * * *  /bin/bash /home/backup_mysql.sh


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值