1、前言
rsyncd的方式笔者认为方便,但会在系统留下一个被攻击的服务点,笔者认为用自动函数+普通用户的方式较安全,故而写下此文备用。
2、实现
2.1、环境
rsyncSer:
ipaddress=10.168.0.100
client:
ipaddress=10.168.0.8
2.2、yum的安装
In rsyncSer & client
1
|
yum -y
install
rsync
|
2.3、服务端配置
In rsyncSer:
1
2
3
4
5
|
mkdir
/files
chmod
700 -R
/files/
useradd
rsuser
echo
rspw |
passwd
--stdin rsuser
setfacl -m u:rsuser:r-x
/files
|
以上设置可保障资料的安全,避免其他非root用户获取。
2.4、客户端设置
In client:
2.4.1、创建脚本文件夹
1
|
mkdir
~
/script
|
2.4.2、创建脚本
vim编辑~/script/rs.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/bin/bash
souUser=rsuser
#服务端创建的用户名
souPwd=rspw
#服务端创建的密码
souIP=10.168.0.100
#服务端ip address
souDir=
/files/
*
#服务端的路径
desDir=
/files
#客户端的路径
auto_rsync () {
expect -c "
set
timeout -1;
spawn
rsync
-av --delete $2@$3:$4 $5;
expect {
*assword:* {send -- $1\r;
expect {
*denied* {
exit
2;}
eof
}
}
eof {
exit
1;}
}
"
return
$?
}
auto_rsync $souPwd $souUser $souIP $souDir $desDir
|
以上相当于手动执行:
1
|
rsync
-av --delete rsuser@10.168.0.100:
/files/
*
/files
|
2.4.3、安全设置
1
|
chmod
700 -R ~
/script
|
2.4.4、定时任务
1
|
crontab
-e
|
加入内容
1
|
*
/15
* * * * sh ~
/script/rs
.sh
|
本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1720998,如需转载请自行联系原作者