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
相关推荐
程序员buddha1 小时前
TypeScript详细教程
javascript·ubuntu·typescript
十五年专注C++开发2 小时前
cpolar(极点云): 一款主流的内网穿透工具
linux·windows·cpolar·穿透
非凡ghost2 小时前
AIMP(音乐播放软件)
前端·windows·音视频·firefox
xifangge20252 小时前
【2026终极解法】彻底解决“由于找不到 msvcp140.dll,无法继续执行代码”报错(附微软运行库一键修复包)
windows·mysql·microsoft·报错·开发环境
摇滚侠2 小时前
Windows 查看占用端口的进程,并关闭进程
windows
comedate2 小时前
[TypeScript] TypeScript 学习从入门到精通
ubuntu·typescript·前端语言
汤姆yu2 小时前
Windows系统下TRAE的安装与完整使用教程
windows·ai·trae·ai编程工具
一个人旅程~3 小时前
在M系列的macbook上如何使用VMware安装ARM版的Win11以及注意哪些问题?
linux·windows·经验分享·macos·电脑
love530love3 小时前
Windows 下 vcpkg 依赖环境部署与全局化配置
人工智能·windows·vcpkg
gsls2008083 小时前
ubuntu安装HermesAgent接入Nous平台小米大模型和微信通道配置
ubuntu·hermesagent·小米大模型