Ubuntu22.04LTS配置rsync服务

Ubuntu22.04LTS配置rsync服务

近期准备同步一些文件,准备选用rsync,这里记录一下配置过程。

rsync是一个开源的快速备份工具,可以镜像保存整个目录树和文件系统。

rsync使用所谓的"rsync算法"来使本地和远程的文件保持同步。这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

rsync可以工作在unix/linux,windows,mac等等。

rsync可以实现增量备份,即上传文件时,先与本地文件进行比较,只上传本地文件有变化的部分,这样就避免了上传整个文件。

我的服务端端是Ubuntu 22.04LTS,系统默认情况下安装了rsync,如果没安装,可以用下面命令安装:

复制代码
sudo apt-get install rsync

服务器端配置

1.编辑/etc/default/rsync

复制代码
# 打开rsync
sudo vim /etc/default/rsync
# 编辑rsync
RSYNC_ENABLE=true

2.创建/etc/rsyncd.conf,并填写配置信息

复制代码
sudo vim /etc/rsyncd.conf

添加以下编辑配置信息:

复制代码
max connections = 2
log file = /var/log/rsync.log
timeout = 300
Charset = UTF-8

[share] # 模块名
comment = Public Share
# path为需要同步的文件夹路径
path = /home/share
read only = no
list = yes
uid = root
gid = root
# 必须和 rsyncd.secrets中的用户名对应
auth users = user
secrets file = /etc/rsyncd.secrets

3.创建/etc/rsyncd.secrets,配置用户名和密码.

复制代码
sudo vim /etc/rsyncd.secrets

配置用户名和密码,密码可以任意设置

复制代码
user:password

4.修改rsyncd.secrets文件的权限

复制代码
sudo chmod 600 /etc/rsyncd.secrets

5.启动/重启rsync服务

复制代码
sudo /etc/init.d/rsync restart

客户端配置

由于我客户端系统是windows,所以需要在windows上安装rsync的客户端cwRsync

1.下载并安装cwRsync

下载地址:csdn下载cwRsync

2.下载后直接解压缩到D:\cwRsync目录下,将D:\cwRsync\bin添加到环境变量path中,就能直接使用

测试

在客户端运行下面的命令检查,确认rsync配置成功,user是在服务器中rsyncd.secrets文件中配置的用户名,xx.xx.xx.xx 是服务器的ip地址,也可以填写服务器对应的域名,share是rsyncd.conf中定义的模块

复制代码
rsync user@xx.xx.xx.xx::share

输入密码后,如果输出以下类似内容,说明配置成功

复制代码
drwxr-xr-x        4096 2006/12/13 09:41:59 .
drwxr-xr-x        4096 2006/11/23 18:00:03 folders

同步

1.将本地文件同步至服务器

复制代码
# 将当前目录下public路径下的全部内容,同步至服务器rsyncd.conf中指定的share模块
rsync -av ./public/ user@xx.xx.xx.xx::share

2.将服务器文件同步至本地

复制代码
rsync -cvazu --progress user@xx.xx.xx.xx::share /rsyn

3.中文乱码问题

在使用时,由于共享资源里有中文,客户端用的是windows客户,客户端请求时,添加--iconv=GBK,UTF-8参数解决,表示客户端为GBK字符,服务端UTF-8字符

复制代码
rsync --iconv=GBK,UTF-8 rsync://user@xx.xx.xx.xx/share
相关推荐
王维同学2 小时前
Credential Provider、Filter 与 PLAP 的 CLSID 枚举
c++·windows·安全·注册表
寒水馨4 小时前
Windows下载、安装 Codex CLI(附安装包codex-x86_64-pc-windows-msvc.exe)
windows·rust·codex·终端工具·自动化编程·codex cli·ai编码代理
漂移的电子6 小时前
解决Vue3 + TypeScript + Vite搭建的项目,动态路由页面加载失败的最隐蔽原因
javascript·ubuntu·typescript
其实防守也摸鱼7 小时前
镜像校验完成iso完整操作流程(Windows 环境,适配 Ubuntu 22.04 / 24.04)
linux·服务器·windows·学习·ubuntu·教程
像风一样自由202017 小时前
从本地到公网:Windows 下使用 Cloudflare Quick Tunnel 与 Natapp 联调 FastAPI
windows·fastapi
一叶龙洲20 小时前
向日葵远程Ubuntu,支持隐私屏
linux·运维·ubuntu
寒水馨21 小时前
Linux下载、安装llama.cpp-b10068(附安装包llama-b10068-bin-ubuntu-vulkan-x64.tar.gz)
linux·ubuntu·llm·llama·本地部署·llama.cpp·推理引擎
2601_960906721 天前
科技“无人区”跋涉,难度高、不确定性大
windows·macos·pycharm·myeclipse
会飞的大鱼人1 天前
一文搞懂 Java HashSet:把它想成游乐园里只允许一次入场的盖章名单
java·开发语言·windows
ziguo11221 天前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio