1、创建备份文件夹
- cd/mnt/cp_disk/
- mkdirbackup
- cdbackup
- mkdirdatabak
- mkdirdb
- mkdirlogs
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"-d10dayago"+%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[$?-eq0]
- then
- echo"backupsucceed">>$backup_logs_dir/$db$DATE
- else
- echo"backupfail">>$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.gzsucceed">>$backup_logs_dir/$db$DATE
- else
- echo"Notfound$backup_target_dir/db$ccDATE.tar.gzfile">>$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$ccDATEsucceed">>$backup_logs_dir/$db$DATE
- else
- echo"Notfound$backup_logs_dir/$db$ccDATEfile">>$backup_logs_dir/$db$DATE
- fi
3、赋予脚本权限
- chmod755/home/backup_mysql.sh
4、创建定时任务
- crontab–e
- 10***/bin/bash/home/backup_mysql.sh