- 实验目的将主服务器/var/mail 和/home 目录下面的文件传递到备用服务器
- 主服务器IP地址192.168.1.150
- 备用服务器IP地址 192.168.1.151
A:主服务器192.168.1.150
###########主服务端配置#################################
1.安装软件包
yum install rsync inotify-tools -y
2.配置创建密码文件
mkdir -p /usr/local/rsync/
touch maildata.passwd ##创建home目录的密码文件
touch varuser.passwd ##创建var/mail目录的密码文件,文件名字自己根据实习情况取名好区别
密码内容如下
[[email protected] rsync]# cat maildata.passwd
maildata-pwd ###home目录密码内容
[[email protected] rsync]# cat varuser.passwd
varuser-pwd ##/var/mail目录密码内容
3.修改密码文件权限不然会提示输入密码
chmod 600 maildata.passwd
chmod 600 varuser.passwd
4.创建脚本
[[email protected] ~]# cat rsync.sh
#!/bin/bash
host=192.168.1.151 ##表示需要同步的客户端地址
src01=/var/mail/ ##将主服务器var/mail数据同步到客户端
des01=var ##模块取名var
user01=varuser ##连接客户端的用户名字
src02=/home/ ##主服务器home目录同步到客户端
des02=maildata ##home目录模块取名maildata
user02=mailuser ##同步home目录需要的用户
/usr/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f%e‘ -e modify,delete,create,attrib $src01 $src02 \
| while read files
do
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/usr/local/rsync/varuser.passwd $src01 [email protected]$host::$des01
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/usr/local/rsync/maildata.passwd $src02 [email protected]$host::$des02
echo "${files} was rsynced" >>/var/rsync.log 2>&1
done
5.执行脚本
chmod 764 rsync.sh
sh rsync.sh
###########客户端服务器配置备用服务器#################################
1.安装软件包
yum install rsync
2.建立用户与密码认证文件
[[email protected] home]# cd /usr/local/rsync/
[[email protected] rsync]# ll
total 12
-rw------- 1 root root 22 Oct 21 15:06 maildata.passwd
-rw-r--r-- 1 root root 673 Oct 21 15:05 rsync.conf
-rw------- 1 root root 20 Oct 21 15:06 varuser.passwd
用户名密码信息如下:
[[email protected] rsync]# cat maildata.passwd
mailuser:maildata-pwd
[[email protected] rsync]# cat varuser.passwd
varuser:varuser-pwd
修改文件权限
chmod 600 maildata.passwd
chmod 600 varuser.passwd
3.启动进程
/usr/bin/rsync --daemon --config=/usr/local/rsync/rsync.conf
我们可以把rsync脚本加入到开机启动项里
[[email protected] rsync]# echo "/usr/bin/rsync --daemon --config=/usr/local/rsync/rsync.conf" >> /etc/rc.local