2019-05-21
企业案例:rsync上机实战考试题:
web01 10.0.0.7
backup 10.0.0.41
某公司里有一台Web服务器,里面的数据很重要,
但是如果硬盘坏了,数据就会丢失,
现在领导要求你把数据在其他机器上做一个周期性定时备份。
要求如下:
(1)每天晚上12点整在Web服务器A(web01 )上打包备份网站程序目录
(2)通过rsync命令推送到服务器B(backup)上备份保留
(备份思路可以是先在本地按日期打包,然后再利用rsync推到备份服务器上)。
涉及到:
rsync守护进程模式
定时任务 (脚本)
具体要求如下:
1)Web服务器A和备份服务器B的备份目录必须都为/backup。
2)Web服务器站点目录假定为(/var/www/html)。
3)Web服务器本地仅保留7天内的备份。
4)备份服务器上每周六的数据都保留,其他备份仅保留180天备份。
5)备份服务器上检查备份结果是否正常(备份内容变?),并将每天的备份结果发给管理员信箱
环境准备
web01服务器(客户端)
1.创建环境
1.-----创建备份目录(具体要求1)
[root 08:38 @ web01 /etc]# mkdir -p /backup
2.-----创建目标文件(具体要求2)
[root 08:38 @ web01 /etc]# mkdir -p /var/www/html
3.-----创建连接密码(作为非交互式密码)
[root 08:38 @ web01 /etc]# echo 123456 >GYJ.password
4.-----修改密码文件权限为600(授权)
[root 08:39 @ web01 /etc]# chmod 600 GYJ.password
5.-----创建脚本目录(脚本的集合地)
[root 08:40 @ web01 /etc]# mkdir -p /server/scripts
2.编辑脚本(定时任务运行脚本)
[root 19:17 @ web01 ~]# vim /server/scripts/backup.sh
#!/bin/bash
################重申变量
source /etc/profile
################定义变量
#$PATH
IP=$(hostname -I|awk '{print $NF}')
mkdir -p /backup/$IP
T=$(date +%F_%w)
HOSTNAME=$(hostname)
################Web服务器本地仅保留7天(具体要求3)
tar zcf /backup/$IP/$T.tar.gz /var/www/html
rm -rf $(find /backup/$IP/ -type f -mtime +7 -name "*.tar.gz")
################指纹设置(具体要求5)
md5sum /backup/$IP/*.tar.gz
################指纹信息打入文件中(具体要求5)
md5sum /backup/$IP/*.tar.gz >/backup/$IP/$HOSTNAME.md5
###############推送到172.16.1.41::/backup(备份服务器)(要求2)
rsync -az /backup/ rsync_backup@172.16.1.41::backup --password-file /etc/GYJ.password
3.定时任务
(要求1)
[root 08:40 @ web01 /etc]# crontab -e
#backup /var/www/html to /backup/ by GYJ at 20190520
#rsync to 172.16.1.41::backup
00 00 * * * sh /server/scripts/backup.sh >/dev/null 2>&1
backup备份服务器(服务端)
1.创建环境
1.-----修改配置文件
vim /etc/rsyncd.conf
增加模块
#####################################
[backup]
comment = www by old0boy 14:18 2012-1-13
path = /backup
2.----创建目录(具体要求1)
[root 19:44 @ backup ~]# mkdir /backup
3.-----授权目录给rsync
[root 19:44 @ backup ~]# chown rsync.rsync /backup
4.-----启动rsync服务
systemctl restart rsyncd
5.-----查看端口和进程
[root 20:57 @ backup ~]# ss -lntup |grep 873
tcp LISTEN 0 5 *:873 *:* users:(("rsync",pid=6171,fd=3))
tcp LISTEN 0 5 :::873 :::* users:(("rsync",pid=6171,fd=5))
[root 20:57 @ backup ~]# ps -ef |grep rsync
root 6171 1 0 19:17 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
root 7665 7561 0 20:57 pts/0 00:00:00 grep --color=auto rsync
[root 20:57 @ backup ~]#
6.-----查看rsync是否运行和是否开机自启
[root 20:59 @ backup ~]# systemctl is-active rsyncd
active
[root 20:57 @ backup ~]# systemctl is-enabled rsyncd
enabled
7.-----创建脚本目录
[root 21:00 @ backup ~]# mkdir -p /server/scripts/
2.编辑脚本
[root 08:24 @ backup ~]# vim /server/scripts/tar-backup.sh
#!/bin/bash
. /etc/profile
#每周六的数据都保留,其他备份仅保留180天备份。(具体要求4)
find /backup/ -type f -mtime +180 ! -name "*6.tar.gz"|xargs rm -rf
################指纹认证(具体要求5)
md5sum -c /backup/*/*.md5
################邮件(具体要求5)
md5sum -c /backup/*/*.md5 |mail -s '梁之金光,王之木光,李之水光,郭之火光,吴之土光' lz435949032@qq.com
3.定时任务
[root 08:43 @ backup ~]# crontab -e
#tar /backup/-md5sum-mail
10 00 * * * sh /server/scripts/tar-backup.sh >/dev/null 2>&1
网友评论