Ubuntu22.04LTS配置rsync服务
近期准备同步一些文件,准备选用rsync,这里记录一下配置过程。
rsync是一个开源的快速备份工具,可以镜像保存整个目录树和文件系统。
rsync使用所谓的“rsync算法”来使本地和远程的文件保持同步。这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync可以工作在unix/linux,windows,mac等等。
rsync可以实现增量备份,即上传文件时,先与本地文件进行比较,只上传本地文件有变化的部分,这样就避免了上传整个文件。
我的服务端端是Ubuntu 22.04LTS,系统默认情况下安装了rsync,如果没安装,可以用下面命令安装:
sudo apt-get install rsync
服务器端配置
# 打开rsync
sudo vim /etc/default/rsync
# 编辑rsync
RSYNC_ENABLE=true
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
sudo chmod 600 /etc/rsyncd.secrets
sudo /etc/init.d/rsync restart
客户端配置
由于我客户端系统是windows,所以需要在windows上安装rsync的客户端cwRsync
1.下载并安装cwRsync
2.下载后直接解压缩到D:cwRsync目录下,将D:cwRsyncbin添加到环境变量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
在使用时,由于共享资源里有中文,客户端用的是windows客户,客户端请求时,添加–iconv=GBK,UTF-8参数解决,表示客户端为GBK字符,服务端UTF-8字符
rsync --iconv=GBK,UTF-8 rsync://user@xx.xx.xx.xx/share
原文地址:https://blog.csdn.net/heylun/article/details/134695204
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_31920.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!