时至年终我们很多公司已经陆续开始放假,但是作为运维人员肯定时刻需要关注公司负责客户的网站和项目的运行情况,一来我们使用监控服务器的稳定性情况,同时前几天老 左也有检查一遍所负责的客户服务器和域名是否有在春节期间到期需要续费的都提前续费。一般在过年期间网站的更新数据不大,于是统一都做好镜像备份和本地数据备份。
一般网站的文件是很少变动的,除非是修改模板数据,静态文件也都分离至第三方存储所以安全性相对比较高,最为主要的就是数据库,如果我们有的客户使用的是云数据库都开启自动备份所以这一块我也不去管,其他的数据库如果有客户使用的WEB面板自带备份功能我都给推送到第三方存储备份数据库,其他的我可以使用脚本来自定义备份后同步上传到备份服务器。
第一、数据库备份脚本
#!/bin/bash
tool=/usr/bin/mysqldump
dd=`date +%Y%m%d`
username=root #数据库用户名
password=laozuo.org #数据库密码
database=laozuo #数据库名
backup_count=2
backup_dir=~/mysqlbackup #备份数据库目录
# 创建备份目录
mkdir -p $backup_dir
#创建备份 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql
$tool -u $username -p$password $database > $backup_dir/$database-$dd.sql
#写备份日志
echo "create $backup_dir/$database-$dd.sql" >> $backup_dir/action.log
#找出需要删除的备份
delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1`
#判断现在的备份数量是否大于$backup_count
count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l`
if [ $count -gt $backup_count ] then
rm $delfile #删除最早生成的备份,只保留backup_count数量的备份
#写删除文件日志
echo "delete $delfile" >> $backup_dir/action.log
fi
这个文件我们可以设定命名backupdata.sh,且需要修改成自己的数据库参数。
第二、执行备份效果
我们可以直接自己丢到对应目录中先执行脚本看看是否可以生效,如果能备份到,那我们说明这个脚本有效。
第三、设置定时备份规则
0 0 * * * /backup/backupdata.sh > /dev/null 2>&1 &