131 lines
2.9 KiB
Markdown
131 lines
2.9 KiB
Markdown
# lsyncd服务器端
|
|
## 安装lsyncd
|
|
```bash
|
|
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
|
|
yum -y install lsyncd
|
|
```
|
|
## 配置服务器端
|
|
```bash
|
|
cat > /etc/lsyncd.conf << EOF
|
|
----
|
|
-- User configuration file for lsyncd.
|
|
--
|
|
-- Simple example for default rsync, but executing moves through on the target.
|
|
--
|
|
-- For more examples, see /usr/share/doc/lsyncd*/examples/
|
|
--
|
|
-- sync{default.rsyncssh, source="/var/www/html", host="localhost", targetdir="/tmp/htmlcopy/"}
|
|
settings {
|
|
logfile = "/var/log/lsyncd/lsyncd.log",
|
|
statusFile = "/var/log/lsyncd/lsyncd.status"
|
|
}
|
|
sync {
|
|
default.rsyncssh, -- 使用ssh同步文件,需要与客户端免密,客户端不需要特殊配置
|
|
source = "/opt/imis",
|
|
host = "10.217.34.66",
|
|
targetdir = "/data/imis",
|
|
delete = false,
|
|
delay = 0,
|
|
rsync = {
|
|
binary = "/usr/bin/rsync",
|
|
archive = true,
|
|
compress = true,
|
|
verbose = true,
|
|
owner = true,
|
|
perms = true,
|
|
_extra = {"--bwlimit=2000"},
|
|
},
|
|
ssh = {
|
|
port = 22
|
|
}
|
|
}
|
|
sync {
|
|
default.rsync, -- 使用rsync同步文件,客户端需要安装rsyncd,且添加配置文件,密码文件(权限600),服务器端需要密码文件(权限600)
|
|
source = "/opt/imis",
|
|
target = "rsync@10.217.35.166::imis",
|
|
delete = false,
|
|
delay = 0,
|
|
rsync = {
|
|
binary = "/usr/bin/rsync",
|
|
password_file = "/etc/rsync-pass",
|
|
archive = true,
|
|
compress = true,
|
|
verbose = true,
|
|
owner = true,
|
|
perms = true,
|
|
_extra = {"--bwlimit=2000"},
|
|
},
|
|
}
|
|
EOF
|
|
```
|
|
```bash
|
|
cat > /etc/rsync-pass << EOF
|
|
dasfasfasf
|
|
EOF
|
|
chmod 600 /etc/rsync-pass
|
|
```
|
|
## 启动
|
|
```bash
|
|
systemctl restart lsyncd
|
|
systemctl enable lsyncd
|
|
```
|
|
# (可选)rsync客户端
|
|
只有使用rsync的客户端才需要配置
|
|
## 安装rsync
|
|
```bash
|
|
yum -y install rsyncd
|
|
```
|
|
## 配置
|
|
```bash
|
|
cat > /etc/rsyncd.conf << EOF
|
|
# /etc/rsyncd: configuration file for rsync daemon mode
|
|
|
|
# See rsyncd.conf man page for more options.
|
|
|
|
# configuration example:
|
|
|
|
# uid = nobody
|
|
# gid = nobody
|
|
# use chroot = yes
|
|
# max connections = 4
|
|
# pid file = /var/run/rsyncd.pid
|
|
# exclude = lost+found/
|
|
# transfer logging = yes
|
|
# timeout = 900
|
|
# ignore nonreadable = yes
|
|
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
|
|
|
|
# [ftp]
|
|
# path = /home/ftp
|
|
# comment = ftp export area
|
|
uid = root
|
|
gid = root
|
|
use chroot = no
|
|
max connections = 100
|
|
timeout = 600
|
|
pid file = /var/run/rsyncd.pid
|
|
locak file = /var/run/rsyncd.lock
|
|
log file = /var/log/rsyncd.log
|
|
|
|
[imis]
|
|
path = /data/imis/
|
|
read only = no
|
|
list = yes
|
|
ignore errors
|
|
hosts allow = 10.217.34.12
|
|
hosts deny = *
|
|
auth users = rsync
|
|
secrets file = /etc/rsyncd.pass
|
|
EOF
|
|
```
|
|
```bash
|
|
cat > /etc/rsyncd.pass << EOF
|
|
rsync:dasfasfasf
|
|
EOF
|
|
chmod 600 /etc/rsyncd.pass
|
|
```
|
|
## 启动
|
|
```bash
|
|
systemctl restart rsyncd
|
|
systemctl enable rsyncd
|
|
```
|