企业案例:rsync上机实战考试题-day36

2019-05-21  本文已影响0人  杰S咪

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
上一篇下一篇

猜你喜欢

热点阅读