前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >rsync配置

rsync配置

作者头像
码客说
发布2022-11-22 16:22:30
1.2K0
发布2022-11-22 16:22:30
举报
文章被收录于专栏:码客码客

服务端

安装

检查rsync 是否已经安装

代码语言:javascript
复制
rpm -qa|grep rsync

若已经安装,则使用rpm -e 命令卸载。

安装rsync

代码语言:javascript
复制
yum install rsync

配置

rsync主要分为三个配置文件,分别是:

  • rsyncd.conf – 主配置文件
  • rsyncd.secrets – 密码文件
  • rsyncd.motd – 服务器信息文件

rsyncd.conf

配置文件

代码语言:javascript
复制
vi /etc/rsyncd.conf

配置如下

代码语言:javascript
复制
# GLOBAL OPTIONS
uid = root                         
gid = root                                  

use chroot = no                             
read only = no                            

#limit access to private LANs
hosts allow=*                          
max connections = 5                      

pid file = /var/run/rsyncd.pid             

secrets file = /etc/rsyncd.secrets            
motd file = /etc/rsyncd.motd        

#This will give you a separate log file
log file = /var/log/rsync.log               

#This will log every file transferred - up to 85,000+ per user, per sync
transfer logging = yes                    

log format = %t %a %m %f %b
syslog facility = local3
timeout = 300

# MODULE OPTIONS
[zjhome]                               
path = /root/                       
list=yes                                   
ignore errors                              
auth users = zj                         
comment = root_home                  
exclude = important/ 

[myblog]
path = /data/myblog/
list=no
ignore errors
auth users = zj
comment = tmp_china

注:

auth users = zj 这是虚拟用户 系统上不需要添加。

rsyncd.secrets

用户密码配置文件

代码语言:javascript
复制
vi /etc/rsyncd.secrets

内容

代码语言:javascript
复制
zj:123456

为了密码的安全性,我们必须把权限设为600

代码语言:javascript
复制
chown root:root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets

rsyncd.motd

建立连接到服务器的客户端看到的欢迎信息

代码语言:javascript
复制
vi /etc/rsyncd.motd

防火墙设置

如果服务器上装有防火墙,需在服务器中设置iptables将837端口开放。

代码语言:javascript
复制
iptables -A INPUT -p tcp --dport 873 -j ACCEPT

启动rsync

启动rsync服务端(独立启动)

代码语言:javascript
复制
rsync --daemon --config=/etc/rsyncd.conf

默认路径就是etc/rsyncd.conf

所以配置路径可以省略

代码语言:javascript
复制
rsync --daemon

查看873端口是否起来

代码语言:javascript
复制
netstat -an | grep 873
# 或者
netstat -a | grep rsync

如果rsync启动成功的话可以看到873端口已经在监听了。

设置开机启动 rsync服务:

代码语言:javascript
复制
echo "rsync --daemon" >> /etc/rc.local

停止

代码语言:javascript
复制
lsof -i:873
kill pid

客户端

下载

Windows客户端

链接:https://pan.baidu.com/s/1RbPZ6RntpzF3dJ5HLKkRUQ 提取码:psvm

设置环境变量

代码语言:javascript
复制
D:\Program Files (x86)\cwRsync\bin

同步方向

Windows下使用cwRsync的时候所有路径前面要添加上/cygdrive

Server => Local

代码语言:javascript
复制
/usr/bin/rsync -vzrtopg --progress --password-file=/cygdrive/d/auth.txt --delete zj@192.168.7.101::zjhome /cygdrive/d/Pic/

Local => Server

代码语言:javascript
复制
/usr/bin/rsync -vzrtopg --progress --password-file=/cygdrive/d/auth.txt /cygdrive/d/Pic/ zj@192.168.7.101::zjhome

增量同步

代码语言:javascript
复制
rsync -avzP /cygdrive/d/Pic/ zj@192.168.160.101::zjhome

配置本地密码文件

在D盘根目录添加文件auth.txt,内容

代码语言:javascript
复制
123456

同步

代码语言:javascript
复制
rsync -avzP --password-file=/cygdrive/d/auth.txt /cygdrive/d/Pic/ zj@192.168.160.101::zjhome

镜像同步

代码语言:javascript
复制
rsync -avzP --delete zj@192.167.7.101::zjhome /tmp/david/

我们引入一个 --delete 选项,表示服务器上的数据要与客户端完全一致,如果 /tmp/david/目录中有服务器上不存在的文件,则删除。

最终目的是让/tmp/david/目录上的数据完全与服务器上保持一致;用的时候要小心点,最好不要把已经有重要数所据的目录,当做本地更新目录,否则会把你的数据全部删除;

问题排查

代码语言:javascript
复制
tail /var/log/rsync.log

参数

代码语言:javascript
复制
-a 参数,相当于-rlptgoD,
-r 是递归 -l 是链接文件,意思是拷贝链接文件;
-p 表示保持文件原有权限;
-t 保持文件原有时间;   
-g 保持文件原有用户组; 
-o 保持文件原有属主;
-D 相当于块设备文件; 
-z 传输时压缩; 
-P 传输进度;
-v 传输时的进度等信息,和-P有点关系

定时同步

编辑crontab

代码语言:javascript
复制
crontab -e

加入如下代码:

代码语言:javascript
复制
10 0 * * * rsync -avzP --delete --password-file=/tmp/rsync.password zj@192.168.7.101::zjhome /cygdrive/d/Pic/

问题

问题1

Could not create directory ‘/home/Administrator/.ssh’

添加环境变量

代码语言:javascript
复制
HOME=C:\Users\Administrator

问题2

uid 4294967295 (-1) is impossible to set on

这是Windows和Linux文件所属用户不一致导致的,目前还没有解决方法,也就是说

目前还没用通过SSH认证来使用Rsync的方式。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 服务端
    • 安装
      • 配置
        • rsyncd.conf
        • rsyncd.secrets
        • rsyncd.motd
      • 防火墙设置
        • 启动rsync
          • 停止
          • 客户端
            • 下载
              • 设置环境变量
                • 同步方向
                  • 增量同步
                    • 镜像同步
                      • 问题排查
                        • 参数
                        • 定时同步
                        • 问题
                          • 问题1
                            • 问题2
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档