rsync用于在两个远程计算机之间同步文件和文件夹。它仅通过传输源和目标之间的差异来提供快速的增量文件传输。
rsync可用于镜像数据,增量备份,在系统之间复制文件,可替代scp,sftp和cp日常等使用的命令。
rsync命令已预安装在大多数linux发行版和macos。可以运行命令rsync --version检查是否已安装rysnc,命令将会打印rysnc的版本号rsync version 3.01。
安装rsync如果终端提示你bash: command not found: rysnc,说明你的系统没有安装rsync。可以使用发行版的软件包管理器安装rysnc。
如果你的计算机运行的系统是基于debian的linux发行版,例如ubuntu,linux mint请运行命令sudo apt install rsync安装rsync。
如果你的计算机运行的系统是基于redhat的linux发行版。例如centos,fedora。请运行命令sudo yum install rsync安装rsync。
rsync命令rsync语法有三种,分别是本地到本地形式local to local,本地到远程local to remote,远程到本地remote to local。
其中option是rsync选项。src是源目录。dest是目标目录。user是远程用户名。host是远程主机名名称,可以是ip地址或者可解释的域名。
local to local: rsync [option]... [src]... destlocal to remote: rsync [option]... [src]... [user@]host:destremote to local: rsync [option]... [user@]host:src... [dest]rsync提供了许多控制其行为的选项。以下是最经常使用的选项。
-a/--archive存档模式,等效于-rlptgod。此选项指示rsync递归同步目录,传输特殊设备和块设备,保留符号链接,组,所有权和权限等。
-z/--compress,此选项将强制rsync在数据发送给目标计算机之前对数据进行压缩。
-p等效于--partial --progress。使用此选项时,rsync将在传输过程中显示进度条并保留部分传输的文件。在慢速或不稳定的网络连接传输大文件时非常有用。
--delete使用此选项时,rsync将从目标位置删除相同的文件。适合用于镜像文件。
-q/--quiet此选项禁止显示非错误消息。-e此选项使您可以选择其他远程shell程序。默认使用ssh。
rsync基础rysnc最简单的用法就是在本地的目录之间复制文件。运行rysnc命令的用户必须对源目录或者文件具有读取权限,并且对目标目录具有写入权限。
如果目标参数未指定文件名,rsync将会保留原始文件名称。要使用其它文件名称保复制文件,请在目标参数指定文件名。
值得一提的是rsync命令会根据源目录是否使用斜杠/,而又不同的处理方式。
如果在源目录尾部添加斜杠,rsync会将目录的内容复制到目标目录。在省略斜杠,rsync则会将源目录复制到目标目录。
rsync -a /opt/filename.zip /tmp/newfilename.ziprsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/rsync远程同步数据当使用rsync进行远程传输时,rsync必须安装在源计算机和目标计算机。rsync默使用ssh作为远程shell程序。
如果您尚未为远程计算机设置ssh无密码登录,rsync会要求您输入用户名和密码。远程计算机ssh服务监听的端口不是默认端口22时,请使用-e选项指定端口。
当传输大量数据或者大文件时,建议在screen,nohup,tmux运行rsync命令或使用rsync命令的-p选项。
rsync 同步本地目录到远程计算机remote_user是远程计算机的用户名,remote_host_or_ip远程计算机的ip地址或者可解释的域名。
rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/rsync 同步远程计算机目录到本地目录rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/rsync 指定ssh端口rsync -a -e ssh -p 2322 /opt/media/ remote_user@remote_host_or_ip:/opt/media/rsync 后台同步数据rsync -a -p remote_user@remote_host_or_ip:/opt/media/ /opt/media/排除文件和目录当你要排除文件或目录时,您需要使用源目录的相对路径。有两种方式可以排除文件和目录。
第一种方式是使用rsync命令的--exclude选项,在命令行指定要排除的文件和目录。--exclude选项可以重复使用多次排除多个文件与目录。
第二种方式是使用rsync命令的--exclude-from选项并指定一个文件,该文件包含要排除的目录与文件的路径。
在以下示例中,排除src_directory目录的node_modules和tmp目录,也就是目录src_directory/node_modules,src_directory/tmp。
rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/node_modulestmp/exclude-file.txt
结论在本教程中,您学习了如何在linux使用rsync命令复制和同步文件和目录。如有任何疑问,请随时发表评论。
SKYLAB WiFi模块助力智慧路灯,满足市民无线上网需求
基于PWM模块和CWG模块的直流电机伺服系统设计
中国新战机将装备可探测F-22的太赫兹雷达
华为已经展示了其最新的可折叠手机
西数SN550蓝盘SSD在京东开启预售,连续传输速度达到2.4GB/s
如何在Linux使用Rsync命令复制和同步文件和目录
一加6T到底值不值得买
猩球崛起?康宁大猩猩玻璃转战汽车内饰
解读区块链信息服务管理规定区块链系统开发交易所源码
磁性粉体及其铸件水分测定报告
2019年全球半导体产业的销售情况分析
电源爱好者制作:串双硅和单硅混频逆变器
艾伯与中联瑞宏战略合作,共同开展5G基础设施建设
变压器的输入端不会短路的原因
小米MIUI9:越用越好用的系统!5大提升,你值得拥有
汽车安全专家11月齐聚苏州,第七届国际汽车安全系统峰会邀您共探未来
离网络边缘更近一步
爆款预定 CITE 2023观众登记全面启动
人工智能将成为电网和泛在电力物联网建设发展的重要方向
常见工业RFID读写器对比,不同工业读写器的特点和功能有哪些?