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