我平时工作都是使用scp和rsync在服务器上远程拷贝文件。scp是securecopy的缩写。用于Linux下远程拷贝文件。cp也有类似的命令,但是cp只是本地复制,不能跨服,而且scp传输是加密的。当你的服务器硬盘变成只读系统时,scp可以帮你把文件搬出来。命令格式>scp[参数][原始路径][目标路径]参数-1强制scp命令使用协议ssh1-2强制scp命令使用协议ssh2-4强制scp命令只使用IPv4寻址-6强制scp命令使用ssh2协议仅使用IPv6寻址寻址-B使用批处理模式(在传输过程中不要求传输密码或短语)-C允许压缩。(将-C标志传递给ssh,开启压缩)-p保留原文件的修改时间、访问时间和访问权限。-q不显示传输进度条。-r递归复制整个目录。-v以详细模式显示输出。scp和ssh(1)将显示整个过程的调试信息。此信息用于调试连接、身份验证和配置问题。-ccipher用密码加密数据传输,这个选项会直接传给ssh。-Fssh_config指定一个备用的ssh配置文件,这个参数直接传递给ssh。-iidentity_file从指定文件中读取用于传输的密钥文件,该参数直接传递给ssh。-llimit限制用户可以使用的带宽,单位为Kbit/s。-ossh_option如果习惯使用ssh_config(5)中的参数传递方式,-Pport注意是大写的P,port是用于指定数据传输的端口号-Sprogram指定用于加密传输的程序.该程序必须了解ssh(1)选项。Copyfile//将本地的rumenz.txt复制到远程rumenz.com服务器的tmp目录>scprumenz.txtrumenz@rumenz.com:/tmp//复制远程rumenz.com服务器目录的rumenz.txt文件toLocal>scprumenz@rumenz.com:/tmp/rumenz.txt.copyfolder//将本地的rumenz目录复制到远程rumenz.com服务器的tmp目录>scp-rrumenzrumenz@rumenz.com:/tmp//将远程rumenz.com服务器目录的rumenz目录文件复制到本地>scp-rrumenz@rumenz.com:/tmp/rumenz.rsyncrsync是linux系统下的数据镜像备份工具。使用快速增量备份工具RemoteSync进行远程同步,支持本地复制,或与其他SSH和rsync主机同步。目录语法rsync[OPTION]...SRCDESTrsync[OPTION]...SRC[USER@]host:DESTrsync[OPTION]...[USER@]HOST:SRCDESTrsync[OPTION]...[USER@]HOST::SRCDESTrsync[OPTION]...SRC[USER@]HOST::DESTrsync[OPTION]...rsync://[USER@]HOST[:PORT]/SRC[DEST]命令参数-ainclude-rtplgoD-r在同步目录的时候要加上,类似cp中的-r选项-v会在同步的时候显示一些信息让我们知道同步的过程-l保留软链接-L加上这个选项后,源会是同步软链接时synchronized同步文件-p保持文件的权限属性-o保持文件的属主-g保持文件所在的组-D保持设备文件信息-t保持文件的时间属性--delete删除src在DEST中没有的文件--exclude过滤指定文件,如--exclude"logs"会过滤掉文件名包含日志的文件或目录,不同步-P显示同步过程,比如速率,比-v更详细-u加了这个选项后,如果DEST中的文件比SRC新,就不会同步了.-z传输时压缩。-e指定要使用的远程shell程序。默认是ssh。--port连接守护进程时使用的端口号,默认为873端口Copyfile//将本地的rumenz.txt复制到远程rumenz.com服务器的tmp目录>rsyncrumenz.txtrumenz@rumenz.com:/tmp//复制远程rumenz.com服务器目录的rumenz.txt文件到本地>rsyncrumenz@rumenz.com:/tmp/rumenz.txt。Copydirectory//将本地的rumenz目录复制到远程rumenz.com服务器的tmp目录>rsync-rrumenzrumenz@rumenz.com:/tmp//将rumenz.com服务器上的rumenz目录复制到192.168.0.111服务器>rsync-rrumenz@rumenz.com:/tmp/rumenz/root@192.168。0.111:/home///排除某个目录,--exclude后的路径不能是绝对路径,必须是相对路径,否则不匹配,不排除>rsync-r--exclude=rumenz/binrumenz@rumenz.com:/tmp/rumenzroot@192.168.0.111:/home/directoryusingrsynctomirrorbothservers>rsync-avzroot@rumenz.com:/opt/pkg/opt/pkg小总结scp适用于拷贝小文件和大文件,比如拷贝测序数据,推荐使用rsync,因为scp没有续传功能,传输失败需要重启,而rsync没有,如果中断了,只需要重新启动复制的命令即可。另外scp占用的资源比较少,不会增加系统的负载。虽然rsync比scp快,但是当小文件很多的时候,rsync会造成非常高的硬盘I/O。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门站
