#!/bin/bash #保存备份个数 number=3 #备份保存路径 backup_dir=/root/mysqlbackup #日期 dd=`date +%Y%m%d` #备份工具 tool=mysqldump #用户名 username=mracale #密码 password=456852 #将要备份的数据库 database_name=test #简单写法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.dump $tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.dump #写创建备份日志 echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt #找出需要删除的备份 delfile=`ls -l -crt $backup_dir/*.dump | awk '{print $9 }' | head -1` #判断现在的备份数量是否大于$number count=`ls -l -crt $backup_dir/*.dupm | awk '{print $9 }' | wc -l` if [ $count -gt $number ] then rm $delfile //删除最早生成的备份,只保留number数量的备份 #写删除文件日志 echo "delete $delfile" >> $backup_dir/log.txt fi
自动化备份脚本讲解
确认完所要备份的数据及其环境,开始编写备份脚本,备份脚本分为两类:
1.数据库备份脚本
备份脚本请参考backup_db.sh
[liutaostdio@WLJY01 lesson8]$ cat backup_db.sh
[root@WLJY01 lesson8]# sh backup_db.sh
建立数据库 testdb1备份的文件夹....
backup testdb1...
建立数据库 testdb2备份的文件夹....
backup testdb2...
建立数据库 testdb3备份的文件夹....
backup testdb3...
2.程序和环境备份脚本
备份脚本请参考backup_web.sh
[liutaostdio@WLJY01 lesson8]$ cat backup_web.sh
注意几个要素的备份:
运行环境的备份
应用程序的备份
tomcat的备份
apache 的备份
Mysql数据库的备份