|
|
@ -1,15 +1,14 @@
|
|
|
|
rsync
|
|
|
|
# rsync
|
|
|
|
===
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
远程数据同步工具
|
|
|
|
远程数据同步工具
|
|
|
|
|
|
|
|
|
|
|
|
## 补充说明
|
|
|
|
## 说明
|
|
|
|
|
|
|
|
|
|
|
|
**rsync命令** 是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。
|
|
|
|
**rsync命令** 是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。
|
|
|
|
|
|
|
|
|
|
|
|
### 语法
|
|
|
|
## 语法
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```sh
|
|
|
|
rsync [OPTION]... SRC DEST
|
|
|
|
rsync [OPTION]... SRC DEST
|
|
|
|
rsync [OPTION]... SRC [USER@]host:DEST
|
|
|
|
rsync [OPTION]... SRC [USER@]host:DEST
|
|
|
|
rsync [OPTION]... [USER@]HOST:SRC DEST
|
|
|
|
rsync [OPTION]... [USER@]HOST:SRC DEST
|
|
|
@ -20,8 +19,8 @@ rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
|
|
|
|
|
|
|
|
|
|
|
|
对应于以上六种命令格式,rsync有六种不同的工作模式:
|
|
|
|
对应于以上六种命令格式,rsync有六种不同的工作模式:
|
|
|
|
|
|
|
|
|
|
|
|
1. 拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:`rsync -a /data /backup`
|
|
|
|
1. 同步本地目录。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:`rsync -a /data /backup`
|
|
|
|
2. 使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:`rsync -avz *.c foo:src`
|
|
|
|
2. 使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:`rsync -avz *.c foo:src`
|
|
|
|
3. 使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:`rsync -avz foo:src/bar /data`
|
|
|
|
3. 使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:`rsync -avz foo:src/bar /data`
|
|
|
|
4. 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:`rsync -av root@192.168.78.192::www /databack`
|
|
|
|
4. 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:`rsync -av root@192.168.78.192::www /databack`
|
|
|
|
5. 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:`rsync -av /databack root@192.168.78.192::www`
|
|
|
|
5. 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:`rsync -av /databack root@192.168.78.192::www`
|
|
|
@ -29,7 +28,7 @@ rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
|
|
|
|
|
|
|
|
|
|
|
|
### 选项
|
|
|
|
### 选项
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```sh
|
|
|
|
-v, --verbose 详细模式输出。
|
|
|
|
-v, --verbose 详细模式输出。
|
|
|
|
-q, --quiet 精简输出模式。
|
|
|
|
-q, --quiet 精简输出模式。
|
|
|
|
-c, --checksum 打开校验开关,强制对文件传输进行校验。
|
|
|
|
-c, --checksum 打开校验开关,强制对文件传输进行校验。
|
|
|
@ -93,11 +92,9 @@ rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
|
|
|
|
-h, --help 显示帮助信息。
|
|
|
|
-h, --help 显示帮助信息。
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 实例
|
|
|
|
## 实例
|
|
|
|
|
|
|
|
|
|
|
|
**SSH方式**
|
|
|
|
SSH方式,首先在服务端启动ssh服务:
|
|
|
|
|
|
|
|
|
|
|
|
首先在服务端启动ssh服务:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
service sshd start
|
|
|
|
service sshd start
|
|
|
@ -179,14 +176,14 @@ auth users=work
|
|
|
|
|
|
|
|
|
|
|
|
创建密码文件,采用这种方式不能使用系统用户对客户端进行认证,所以需要创建一个密码文件,其格式为“username:password”,用户名可以和密码可以随便定义,最好不要和系统帐户一致,同时要把创建的密码文件权限设置为600,这在前面的模块参数做了详细介绍。
|
|
|
|
创建密码文件,采用这种方式不能使用系统用户对客户端进行认证,所以需要创建一个密码文件,其格式为“username:password”,用户名可以和密码可以随便定义,最好不要和系统帐户一致,同时要把创建的密码文件权限设置为600,这在前面的模块参数做了详细介绍。
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```sh
|
|
|
|
echo "work:abc123" > /etc/rsyncd.passwd
|
|
|
|
echo "work:abc123" > /etc/rsyncd.passwd
|
|
|
|
chmod 600 /etc/rsyncd.passwd
|
|
|
|
chmod 600 /etc/rsyncd.passwd
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
备份,完成以上工作,现在就可以对数据进行备份了,如下:
|
|
|
|
备份,完成以上工作,现在就可以对数据进行备份了,如下:
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```sh
|
|
|
|
rsync -avz --progress --delete work@172.16.78.192::www /databack/experiment/rsync
|
|
|
|
rsync -avz --progress --delete work@172.16.78.192::www /databack/experiment/rsync
|
|
|
|
|
|
|
|
|
|
|
|
Password:
|
|
|
|
Password:
|
|
|
|