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
相关推荐
北十南4 小时前
SODA自然美颜相机(甜盐相机国际版) v9.3.0
android·windows·数码相机
nbsaas-boot5 小时前
用 FreeMarker 动态构造 SQL 实现数据透视分析
数据库·windows·sql·freemarker·数据报表
weixin_446260855 小时前
windows下hashcat使用gpu破解execl打开密码
windows
Web极客码6 小时前
在Ubuntu 22.04上安装远程桌面服务
linux·运维·ubuntu
Evaporator Core16 小时前
Windows批处理脚本自动合并当前目录下由You-get下载的未合并的音视频文件
windows·音视频
Danileaf_Guo20 小时前
Ubuntu 18.04快速配置WireGuard互联
linux·运维·服务器·ubuntu
柳鲲鹏20 小时前
Ubuntu下载、安装、编译指定版本python
运维·服务器·ubuntu
十五年专注C++开发1 天前
CMake进阶: externalproject_add用于在构建阶段下载、配置、构建和安装外部项目
linux·c++·windows·cmake·自动化构建
guidovans1 天前
基于tkinter开发电脑工具集(源码在底部)
linux·windows·python·gui·tkinter
Tearstornbyrain1 天前
在Ubuntu24.04中使用ssh连接本地git仓库到github远程仓库
linux·git·ubuntu·ssh·github