- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
当你想在两台 Linux 之间同步文件时,其实有一个程序很适合你,那就是 Rsync
首先需要安装 Rsync,服务端和客户端都要安装
yum -y install rsync
然后我们需要编辑配置文件,在此直接放置一份模板
vim /etc/rsyncd.conf
#设置服务器信息提示文件名称,在该文件中编写提示信息 motd file = /etc/rsyncd.motd #开启 Rsync 数据传输日志功能 transfer logging = yes #设置日志文件名称,可以通过 log format 参数设置日志格式 log file =/var/log/rsyncd.log #设置 Rsync 进程号保存文件名称 pid file =/var/run/rsyncd.pid #设置锁文件名称 lock file =/var/run/rsync.lock #设置服务器监听的端口号,默认为 873 port = 873 #设置服务器所监听网卡接口的 IP 地址 address = 172.16.1.100 #设置进行数据传输时所使用的账户名称或 ID 号,默认使用 nobody uid = nobody #设置进行数据传输时所使用的组名称或 GID 号,默认使用 nobody gid = nobody #设置 user chroot 为 yes 后,rsync 会首先进行 chroot 设置,将根映射到 path 参数路径下,对客户 #端而言,系统的根就是 path 参数所指定的路径。但这样做需要 root 权限,并且在同步符号 #连接资料时仅会同步名称,而内容将不会同步。 use chroot = no #是否允许客户端上传数据,这里设置为只读。 read only = yes #设置并发连接数,0 代表无限制。超出并发数后,如果依然有客户端连接请求,则将会收 #到稍后重试的提示消息 max connections = 10 #模块,Rsync 通过模块定义同步的目录,模块以 [name] 的形式定义,这与 Samba 定义共 #享目录是一样的效果。在 Rsync 中也可以定义多个模块 [syncproject] #comment 定义注释说明字串 comment = Sync File #同步目录的真实路径通过 path 指定 path = /syncproject #忽略一些 IO 错误 ignore errors #exclude 可以指定例外的目录,即将 common 目录下的某个目录设置为不同步数据 #exclude = nosync/ #设置允许连接服务器的账户,账户可以是系统中不存在的用户 auth users = syncuser #设置密码验证文件名称,注意该文件的权限要求为只读,建议权限为 600,仅在设置 auth users #参数后有效 secrets file = /etc/rsyncd.secrets #设置允许哪些主机可以同步数据,可以是单个 IP,也可以是网段,多个 IP 与网段之间使用空格分隔 hosts allow=172.16.1.200/255.255.255.255 #设置拒绝所有(除 hosts allow 定义的主机外) hosts deny=* #客户端请求显示模块列表时,本模块名称是否显示,默认为 true list= false
将 Rsync 使用的账户和密码写入到文件,并赋予 600 权限保证其他人不可读
echo "syncuser:password" > /etc/rsyncd.secrets && chmod 600 /etc/rsyncd.secrets
创建一个 Rsync 的 MOTD 文件
echo “welcome to access” >/etc/rsyncd.motd
防火墙开启端口允许访问(默认端口 873)
firewall-cmd --add-service=rsyncd --permanent
客户端可以直接使用命令同步
rsync -vzrtopg --progress syncuser@172.16.1.100::syncproject /syncproject
参数主要是:详细输出,递归子文件夹,压缩传输,同步时间,权限,所属组,所属用户
售前咨询
售后咨询
备案咨询
二维码
TOP