设置Ubuntu 22.04 LTS上的rsync同步服务
在Ubuntu 22.04 LTS上设置rsync同步服务涉及安装rsync软件包、配置文件的编辑、设置守护进程以及创建同步任务。以下是详细的步骤:
安装rsync
首先,确保系统是最新状态:
sudo apt update
sudo apt upgrade
然后,安装 rsync
软件包:
sudo apt install rsync
配置rsync服务
- 编辑配置文件:打开
/etc/rsyncd.conf
文件进行编辑。
sudo nano /etc/rsyncd.conf
- 添加模块:在配置文件中定义一个或多个模块(即共享),每个模块都有自己的路径和访问权限。
例如,创建一个名为“backup”的模块,并允许任何人访问(请根据实际情况调整权限和路径):
[backup]path = /srv/backup comment = Backup Folder read only = no list = yes auth users = username1, username2 secrets file = /etc/rsyncd.secrets
- 设置认证:如果你指定了认证用户,请创建并编辑
/etc/rsynch.secrets
文件来存储用户名和密码。
username1:password1
username2:password2
确保这个秘密文件不对非授权用户开放读取权限:
chmod 600 /etc/rsynch.secrets
- 启动服务:启动或重启 rsynch 以应用更改:
sudo systemctl restart rsynсh.service
- 开放端口: 如果你有防火墙运行,请确保打开TCP端口873,这是Rsync默认使用的端口.
sudo ufw allow from any to any port 873 proto tcp
创建同步任务
要从客户机上将数据同步到服务器,可以使用以下命令格式:
rsynс -avz --delete source_directory user@server_ip::module_name
-a
: 归档模式;等于-rlptgoD
(递归、链接、权限等)-v
: 更详细(verbose)-z
: 压缩数据传输。--delete
: 删除目标目录中源目录不存在的额外内容。source_directory
: 源目录路径。user@server_ip::module_name
: 用户名@服务器IP地址::定义在 `/etс/rѕуnсh.conf' 中指定名称.
例如,要将本地“/home/user/data” 目录与远程服务器上名为 “backup” 的 Rsync 模块进行同期化处理:
rѕуnс -avz --delete /home/user/data user@192.x.x.x::baскuр
以上命令会将本地 “data” 目录内容与远程 “baскuр” 模快内容进行镜像,并删除任何只存在于远程备份位置而不再存在于本地源位置中额外内容.