11 制定合理的mysql数据备份方案,并写备份脚本,要求把备份数据传输到备份服务器 12 制定代码、静态文件的备份方案,并写备份脚本,要求把备份数据传输到备份服务器 12 编写数据恢复文档,能保证当数据丢失在2小时内恢复所有数据 19 用shell脚本实现文件、代码同步上线(参考分发系统)
1 mysql数据备份
之前在创建mysql数据库的时候已经设置了mysql主从备份,可以设置数据库所有文件做一个备份传输到备份服务器。 shell脚本中的ip指备份服务器的ip地址。
vim /usr/local/sbin/mysql_bak.sh
代码语言:javascript复制#!/bin/bash
SJ=` date %F_%T `
mybackup=/data/mysql_backup
backup_server=ip:$mybackup
mysqldump -uroot -p123456 –default-character-set=utf8 --all-databases > $mybackup/$SJ_mysql.sql
rsync -az $mybackup/$SJ_mysql.sql $backup_server
echo "My mysql data have been backed up at `date %F %T` " >> /var/log/mysql_bak.log
此脚本加入crontab
vim /etc/crontab
代码语言:javascript复制* 2 * * * /usr/local/sbin/mysql_bak.sh
systemctl restart crond
2 静态文件备份
vim /usr/local/sbin/web_bak.sh
代码语言:javascript复制#!/bin/bash
SJ=` date %F_%T `
tar -zcvf /data/$SJ_web.tar.gz /data/wwwroot
backup_server=ip:/data/web_bak/
rsync -az /data/$SJ_web.tar.gz $backup_server
echo "My web files have been backed up at `date %F %T` " >> /var/log/web_bak.log
此脚本加入crontab
vim /etc/crontab
代码语言:javascript复制* /2 * * * /usr/local/sbin/web_bak.sh
systemctl restart crond
3 数据恢复文档
如果是两个小时内恢复,把刚才备份的文件恢复到web服务器
rsync -az /data/wwwroot/$SJ_web.tar.gz ip:/data/