linux Centos 自动备份mysql

来源:互联网 发布:python wi fi破解 编辑:程序博客网 时间:2024/05/22 00:06

1、创建备份文件夹

cd /mnt/cp_disk/mkdir backupcd backupmkdir databakmkdir dbmkdir  logs
 

2、编写执行脚本

#!/bin/bashbackup_dir=/mnt/cp_disk/backup/databak   #备份临时文件存放目录backup_target_dir=/mnt/cp_disk/backup/db   #备份文件存放目录backup_logs_dir=/mnt/cp_disk/backup/logs   #备份日志目录db=gzcpcDATE=$(date +%Y%m%d)#得到10天前的日期ccDATE=$(date "-d 10 day ago" +%Y%m%d)echo "开始复制数据表"  >> $backup_logs_dir/$db$DATEecho "-----------`date +"%Y-%m-%d %H:%M:%S"`--------------------"  >> $backup_logs_dir/$db$DATEcp -R /var/lib/mysql/$db $backup_dir/   #mysql数据库的数据目录为/var/lib/mysql/echo "开始压缩数据表"  >> $backup_logs_dir/$db$DATEecho "------------------------"  >> $backup_logs_dir/$db$DATEcd $backup_dirtar -zcvf  $db$DATE.tar.gz $db/ && echo "压缩表结束" >> $backup_logs_dir/$db$DATEmv $db$DATE.tar.gz $backup_target_dir/ && echo "转移成功" >> $backup_logs_dir/$db$DATEif [ $? -eq 0 ]then echo "backup succeed" >> $backup_logs_dir/$db$DATEelse echo "backup fail" >> $backup_logs_dir/$db$DATEfiecho "开始删除原数据表"  >> $backup_logs_dir/$db$DATEecho "-----------------------"  >> $backup_logs_dir/$db$DATErm -rf $backup_dir/* && echo "删除原数据表"  >> $backup_logs_dir/$db$DATEecho  "删除10天前数据" >>$backup_logs_dir/$db$DATEif [ -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$DATEelse echo "Not found $backup_target_dir/db$ccDATE.tar.gz file" >>$backup_logs_dir/$db$DATEfiif [ -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$DATEelse echo "Not found $backup_logs_dir/$db$ccDATE file" >>$backup_logs_dir/$db$DATEfi


3、赋予脚本权限

chmod 755 /home/backup_mysql.sh

4、创建定时任务

crontab –e1 0 * * *  /bin/bash /home/backup_mysql.sh


0 0