> 文章列表 > rsync 的用法

rsync 的用法

rsync 的用法

rsync 介绍下 用法
rsync是一个常用的数据同步工具,它能够在本地和远程系统之间同步文件和目录。以下是rsync的基本用法:

同步本地文件夹:
bash

Copy code
rsync -av /path/to/source /path/to/destination

其中,-a表示归档模式,-v表示显示详细信息,/path/to/source表示源文件夹的路径,/path/to/destination表示目标文件夹的路径。

同步本地和远程文件夹:

ruby
Copy code
rsync -av ssh /path/to/source username@remote:/path/to/destination

其中,-a和-v参数的含义同上,ssh表示通过ssh协议进行同步,username为远程系统的用户名,remote为远程系统的IP地址或主机名,/path/to/source为本地源文件夹路径,/path/to/destination为远程目标文件夹路径。

同步文件时排除指定文件或文件夹:

bash
Copy code
rsync -av --exclude='*.log' /path/to/source /path/to/destination

其中,–exclude参数指定要排除的文件或文件夹,*.log表示所有后缀为.log的文件。

增量同步:
css

Copy code
rsync -av --delete /path/to/source /path/to/destination

其中,–delete参数表示删除目标文件夹中不存在于源文件夹的文件。

模拟同步:

bash
Copy code
rsync -avn /path/to/source /path/to/destination

其中,-n参数表示模拟同步过程,不进行实际的同步操作。

这些是rsync的基本用法,更详细的用法可以通过rsync的man页面或官方文档了解。

要配置rsync服务器以同步代码,请按照以下步骤进行操作:

安装rsync
如果您还没有安装rsync,请在服务器上运行以下命令来安装它:

csharp
Copy code
sudo apt-get install rsync

创建一个rsync用户
为了安全起见,我们应该为rsync创建一个单独的用户。运行以下命令创建一个名为rsync的用户:

bash
Copy code
sudo useradd rsync -m -d /home/rsync

这将创建一个名为rsync的用户,并在/home/rsync目录下创建一个主目录。

设置rsync用户的密码
为rsync用户设置一个密码:

Copy code
sudo passwd rsync

输入您要设置的密码,然后确认密码。

创建一个rsync目录
我们将使用rsync用户的主目录来存储我们要同步的文件。在rsync用户的主目录中创建一个名为sync的目录:

bash
Copy code
sudo mkdir /home/rsync/sync

授权rsync用户访问rsync目录
将rsync用户添加到rsync目录的访问控制列表中:

bash
Copy code
sudo chown rsync:rsync /home/rsync/sync

这将确保rsync用户可以读取和写入sync目录中的文件。

配置rsync服务器
打开/etc/rsyncd.conf文件并添加以下内容:

java
Copy code
uid = rsync
gid = rsync
use chroot = yes
max connections = 4
log file = /var/log/rsyncd.log[sync]
path = /home/rsync/sync
comment = Code Synchronization
read only = no
list = yes
auth users = rsync
secrets file = /etc/rsyncd.secrets

这将创建一个名为“sync”的模块,其中包含我们要同步的文件。rsync用户将被授权读取和写入sync目录中的文件。授权访问的密码存储在/etc/rsyncd.secrets文件中。

创建rsync用户的密码文件
创建一个名为/etc/rsyncd.secrets的文件并添加以下内容:

makefile
Copy code
rsync:your_password

将your_password替换为您要使用的密码。

确保只有rsync用户和root用户可以访问该文件:

bash
Copy code
sudo chmod 600 /etc/rsyncd.secrets
sudo chown root:rsync /etc/rsyncd.secrets

启动rsync服务器
启动rsync服务器:

sql

Copy code
sudo systemctl start rsync

要在服务器启动时启动rsync,请运行以下命令:

bash
Copy code
sudo systemctl enable rsync

现在,您可以使用rsync客户端将文件同步到您的服务器。例如,要将本地目录中的所有文件同步到服务器的sync目录中,请使用以下命令:

ruby
Copy code
rsync -av /path/to/local/directory/ rsync@your_server:/home/rsync/sync

将your_server替换为您的服务器的IP地址或域名。