需达成目标:在服务器(192.168.18.211)端搭建 rsync 服务,
将 /root/rsync-server/ 目录同步到客户端 /root/rsync-local 目录
Linux系统:CentOS 6.5
一、由于CentOS6.5已经默认已经安装了 rsync,如若没有安装,可以参考如下方法:
1、检查是否安装了 rsync :
rpm -qa rsync
2、如果没有安装可以使用yum安装
yum install -y rsync
3、启动 rsync :
/etc/init.d/xinetd start
或 service xinetd start
二、服务端(192.168.18.211)
1、建立 rsync 账号密码文件:
vim /root/rsync_user , 添加一行 账号 : 密码
root:123456
2、修改权限
chmod 600 rsync_user
3、创建 rsync 全局配置文件
vim /etc/rsyncd.conf (默认没有此配置文件,手动添加该文件),内容如下:
uid = nobody // 传输文件时,执行的用户
gid = nobody // 传输文件时,执行的用户组
use chroot = yes // 在传输文件之前,服务器守护程序在将chroot 到文件系统中的目录中
pid file = /var/run/rsyncd.pid // 告知进程写到 /var/run/rsyncd.pid 文件中
log file = /var/log/rsyncd.log // 日志路径
[tools] // 模块名,主要是定义服务器哪个目录要被同步
path = /root/rsync-server // 指定文件目录所在位置,这是必须指定的
comment = Rsync share test // 注释可以自己定义
auth users = root // 认证用户是 root,必须是服务器上真实存在的用户
secrets file = /root/rsync_user // 密码存在哪个文件
read only = yes // 是只读选择,也就是说,不让客户端上传文件到服务器
4、修改 /etc/xinetd.d/rsync
vim /etc/xinetd.d/rsync
关于super daemon 配置文件更详细的内容请参考 《鸟哥的linux私房菜基础篇 559页》
二、客户端(192.168.19.25)
1、设置密码文件:
vim /root/rsync_pass // 只需写登录用户密码,要与服务器端设置密码一致
123456
2、修改权限
chmod 600 rsync_pass
3、创建接收服务器文件的目录
mkdir rsync-local
4、在同步服务文件之前,可以先浏览一下服务中带共享的文件,此处可以先查看一下共享的文件
rsync root@192.168.18.211::tools
5、手动同步共享目录
rsync -az --password-file=/root/rsync_pass root@192.168.18.211::tools /root/rsync-local
6、使用cron例行性任务定时从服务器同步文件
crontab -e 0 5 * * * /usr/bin/rsync -a --password-file=/root/rsync_pass root@192.168.18.211::tools /root/rsync-local
本文经小作者 daicr 亲身实践,确实可行,同时感谢以下参考博文的博友们!
本文参考:https://www.linuxidc.com/Linux/2014-05/101084.htm