Linux远程同步文件夹,linux怎么使用Rsync同步远程文件

Rsync是一个快速同步文件实用的命令行工具,它可以在远程的计算机到本地,或者本地到远程,两个位置之间同步文件和文件夹,通过远程shell(ssh,scp等)或rsync守护进程。rsync还会比较源位置和目标位置之间的差异来提供快速增量文件传输

rsync的可用于系统之间的镜像数据,增量备份,复制文件,可代替sftp和cp 等这些常用的命令

下面向您展示如何通过实际示例和最常见的rsync选项的详细说明来使用rsync。

安装Rsync

rsync命令都已预安装在大多数Linux发行版和Mac OSX上。您可以通过键入以下内容来检查系统上是否已安装:rsync --versionrsync version 3.1.2 protocol version 31

如果您的系统上没有安装rsync,可以使用包管理器安装,下面是常见的发行版安装方式

在Ubuntu和Debian上安装Rsyncsudo apt install rsync

在CentOS和Fedora上安装Rsyncsudo yum install rsync

Rsync命令语法

在讨论如何使用rsync命令之前,熟悉一下rsync基本语法。

rsync命令选项采用以下形式:Local to Local: rsync [OPTION]... SRC [SRC]... DEST

Local to Remote: rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST

Remote to Local: rsync [OPTION]... [USER@]HOST:SRC [DEST]OPTION- rsync选项

SRC - 源目录

DEST - 目标目录

USER - 远程用户名

HOST - 远程主机

Rsync有许多控制其行为的选项。最经常常使用的选项是:-a,--archive归档模式,相当于-rlptgoD。用于递归同步目录,传输指定块设备,保留符号链接,修改时间,组,所有权和权限。

-z,--compress。此选项将强制rsync在数据发送到目标计算机时压缩数据。仅当与远程计算机的连接速度较慢时才使用此选项。

-P相当于--partial --progress。此选项将告诉rsync在传输过程中显示进度条并保留部分传输的文件。在慢速或不稳定的网络中传输大型文件时,这会非常有用

--delete使用此选项时,rsync将从目标位置删除无关文件,它对镜像复制很有用

-q,--quiet。如果要禁止显示非错误消息,请使用此选项。

-e此选项允许您选择其传输工具。默认情况下Rsync配置为使用ssh。

基本Rsync用法

要将单个文件复制到另一个本地位置,可以运行以下命令:rsync -a /opt/filename.zip /tmp/

将文件复制到另一个位置并重命名文件,则需要指定新名称rsync -a /opt/filename.zip /tmp/newfilename.zip

在下面的示例中,我们将创建网站文件的本地备份:rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

如果目标目录不存在,rsync将会创建它。

值得一提的是,rsync使用尾部斜杠对源目录进行不同的处理/。如果在源目录中添加尾部斜杠,它只会将目录的内容复制到目标目录。当省略尾部斜杠时,rsync将直接复制源目录到目标目录

如何使用Rsync从远程计算机同步数据

使用rsync进行远程传输时,必须同时在源计算机和目标计算机上安装rsync。新版本的rsync配置为使用SSH作为默认远程shell

在下面示例中,我们将目录从本地传输到远程计算机:rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/

如果尚未设置无密码SSH登录到远程计算机,则会要求您输入用户密码。

如果要将数据从远程数据传输到本地计算机,则需要使用远程位置作为源:rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

如果远程主机上的SSH正在侦听默认端口22以外的端口,则可以使用以下-e参数指定端口:rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

传输大量数据时,建议在nohup中运行rsync命令或使用-P选项。

排除文件和目录

当要排除文件或目录,您需要使用它们的相对路径。在rsync中有两个选项可以排除文件和目录。

第一个选项是使用--exclude参数并在命令行中指定要排除的文件和目录。在下面的示例中,我们排除了位于其中的node_modules和tmp目录src_directoryrsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

第二个选项是使用--exclude-from参数并指定要在文件中排除的文件和目录。rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/

至此rsync的基本用法已经介绍完毕,如你有任何疑问,请在下方留言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值