SCP命令
scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。文章来源:https://www.toymoban.com/news/detail-623429.html
语法
scp (选项) (参数)
源文件:指定要复制的源文件。
目标文件:目标文件。格式为user@host:filename(文件名为目标文件的名称)。
-1:使用ssh协议版本1;
-2:使用ssh协议版本2;
-4:使用ipv4;
-6:使用ipv6;
-B:以批处理模式运行;
-C:使用压缩;
-F:指定ssh配置文件;
-l:指定宽带限制;
-o:指定使用的ssh选项;
-P:指定远程主机的端口号;
-p:保留文件的最后修改时间,最后访问时间和权限模式;
-q:不显示复制进度;
-r:以递归方式复制。
示例
# root 用户名
# 从远处复制文件到本地目录
# 从10.10.10.10机器上的/opt/soft/的目录中下载test.tar.gz 文件到本地/opt/soft/目录中。
scp root@10.10.10.10:/opt/soft/test.tar.gz /opt/soft/
# 从远处复制到本地
# 从10.10.10.10机器上的/data/www/中下载mongodb目录到本地的/data/www/目录来。
scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/
# 上传本地文件到远程机器指定目录
# 复制本地/data/www/目录下的文件test.tar.gz到远程机器10.10.10.10的/data/www/scptest目录。
scp /data/www/test.tar.gz root@10.10.10.10:/data/www/scptest
# 上传本地目录到远程机器指定目录
上传本地目录/data/www/mongodb到远程机器10.10.10.10上/data/www/scptest的目录中去。
scp -r /data/www/mongodb root@10.10.10.10:/data/www/scptest
rsync命令
在Linux系统中,rsync是一种功能强大且广泛使用的文件同步工具。它能够在本地和远程系统之间实现高效、快速的文件传输和同步,支持断点续传和快速安全的文件上传下载。文章来源地址https://www.toymoban.com/news/detail-623429.html
安装方法
yum install rsync
基本用法
sync [OPTIONS] SOURCE DESTINATION
# SOURCE指定源文件或目录,DESTINATION指定目标路径,可以是本地路径或远程主机路径。
# 常用参数及其功能
-a:归档模式,以递归方式传输文件,并保持文件属性(权限、时间戳等)。
-v:详细模式,输出传输过程中的详细信息。
-r:递归传输,用于同步目录及其子目录。
-z:压缩传输,减少数据传输量,加快传输速度。
--delete:删除目标中不存在于源的文件,保持目标与源的一致性。
--exclude:排除指定文件或目录,不进行同步。
--progress:显示传输过程中的进度信息。
--bwlimit:限制宽带限速
-e:指定远程shell连接命令(例如SSH)
示例
# 本机上同步
rsync -av /源目录 /被同步文件夹
# 从本地上传文件到服务器
rsync -P -t -r -v -e [待传输文件] usr@IP:[接收目录]
# 从服务器下载文件到本地
rsync -P -t -r -v -e usr@IP:[待传输文件] [接收目录]
# 本地文件夹同步:
# 将本地目录/path/to/source同步到/path/to/destination,保持权限和时间戳,并显示传输过程中的详细信息。
rsync -av /path/to/source /path/to/destination
# 远程主机同步:
# 将本地目录同步到远程主机remote_host的/path/to/destination,使用SSH连接,并压缩传输以加快速度。
rsync -azv -e ssh /path/to/source remote_host:/path/to/destination
# 删除目标多余文件:
# 同步时,删除目标目录中不存在于源目录的文件。
rsync -av --delete /path/to/source /path/to/destination
# 排除特定文件和目录:
# 同步时排除/path/to/source/logs和/path/to/source/temp目录,并不进行传输。
rsync -av --exclude='logs' --exclude='temp' /path/to/source /path/to/destination
# 排除指定文件和目录
# --exclude-from=exclude.txt exclude.txt里写入需要排除的文件
# --password-file=/etc/wap_pw136.txt 为密码文件
# --delete 同步时,删除目标目录中不存在于源目录的文件。
rsync -avzP --exclude-from=exclude.txt ./ wzb@127.0.0.1::test --chown=www:www --progress --password-file=/etc/wap_pw136.txt
rsync -avzP --exclude-from=exclude.txt ./ wzb@127.0.0.1::test --chown=www:www --progress --delete --password-file=/etc/wap_pw56.txt
# 从指定服务器同步文件到本地
rsync -avz --exclude-from=exclude.txt wzb@127.0.0.1::test ./ --password-file=/etc/apitest_pw.txt
到了这里,关于Linux下的scp 、rsync两种命令同步文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!