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
相关推荐
海兰3 小时前
【插件】Logbook 插件完全指南(适配 Ubuntu 24.04)
linux·运维·人工智能·ubuntu·agent·openclaw
勇往直前plus3 小时前
Docker PostgreSQL 16 部署要点(Ubuntu 22)
ubuntu·docker·postgresql
何以解忧,唯有..4 小时前
Python 中获取目录操作完全指南
windows·python·microsoft
YCOSA20256 小时前
雨晨 Windows 10 轻装版 64位 六合一 VIP 19045.7663
windows·物联网
Eloudy9 小时前
sunshine - ubuntu 22.04, moonlight - mac OS26 远程桌面
linux·运维·ubuntu
牢姐与蒯10 小时前
Linux进程(二)之进程概念
linux·运维·服务器·ubuntu
DOLA_Tech11 小时前
电脑共享文件夹教程(Windows、统信UOS、银河麒麟)
windows·电脑
淡海水11 小时前
03-03-线性-LinkedList-T-源码不变式与选择边界
windows·链表·c#·编译·linkedlist·clr·机器码
猫吃了源码12 小时前
Linux系统制作 Ubuntu Server 24.04 启动U盘详细教程
linux·服务器·ubuntu
钝挫力PROGRAMER12 小时前
Windows Docker 环境搭建 GitLab CI/CD 流水线
windows·docker·gitlab·gitlab-runner