首页 服务器系统 Linux

Linux基础命令之rsync


rsync的目的是实现本地主机和远程主机上的文件同步(包括本地推到远程,远程拉到本地两种同步方式),也可以实现本地不同路径下文件的同步,但不能实现远程路径1到远程路径2之间的同步(scp可以实现)。

特点:

1.可以镜像保存整个目录树和文件系统;

2.可以很容易做到保持原来文件的权限、时间、软硬链接等;

3.无须特殊权限即可安装;

4.优化的流程,文件传输效率高;

5.可以使用rsh、ssh等方式来传输文件,当然也可以通过直接的socket连接;

6.支持匿名传输。

rsync的主要好处是:

1,速度:首次会在本地和远程之间拷贝所有内容。下次只会传输发生改变文件。

2,安全:传输可以通过ssh协议加密数据。

3,低带宽:rsync可以在两端压缩和解压数据块。

在讲命令前,首先要提示一下rsync命令带不带斜杠的,初学者经常会犯错误。

因此着重地讲一下。

1.源目录加斜杠,目标目录不加斜杠

加了斜杠,会将源目录下的文件,传输到目标目录下

2.源目录不加斜杠,目标目录不加斜杠

不加斜杠,直接将源目录复制到目标目录下,整个目录复制到了目标目录下了。

3. 源目录不加斜杠,目标目录加斜杠:

不加斜杠,直接将源目录复制到目标目录下,整个目录复制到了目标目录下了。

4. 源目录加斜杠,目标目录加斜杠:

加了斜杠,会将源目录下的文件,传输到目标目录下。

小结一下

  • 源目录加了斜杠,效果就是将该目录下的内容传输到目标目录下。
  • 源目录不加斜杠,效果就是将该目录传输到目标目录下。
  • 目标目录如果不存在,会自动创建目标目录。

实例1 启用压缩

[root@node1/]# rsync -zvr /home/a/ /backupa

上面的rsync命令使用了-z来启用压缩,-v是可视化,-r是递归

实例2保留文件和文件夹的属性

[root@node1/]# rsync -azvr /home/a/ /backupa

使用了-a选项,它保留了所有人和所属组、时间戳、软链接、权限,并以递归模式运行

实例3同步本地到远程主机

[root@node1/]# rsync -avz /home/a/ user@192.168.1.4:/backupa/

实例4远程同步到本地

[root@node1/]# rsync -avz user@192.168.1.4:/backupa/ /home/a/

实例5找出文件间的不同

[root@node1/]# rsync -avzi /backupa /home/a/

结论:

rsync最重要的是备份,因此经常被用做备份小程序,结合crontab命令就可以定期地对重要的数据或软件进行备份。

相关推荐