首页 > 代码库 > 远程传输命令(十三)
远程传输命令(十三)
远程传输命令:scp,rsync
13.1.scp
功能:通货ssh协议进行安全远程服务器的文件复制
语法:
scp [OPTIONS] file_source file_target
帮助命令:
scp --help
man scp
常用选项:
-C 压缩选项
-i 指定私钥文件
-l 限制速率,单位Kb/s,1024Kb=1Mb
-P 指定远程主机SSH端口
-p 保存修改时间、访问时间和权限
-r 递归拷贝目录
-o SSH选项,有以下常用的:
ConnectionAttempts=NUM 连接失败后重试次数
ConnectTimeout=SEC 连接超时时间
StrictHostKeyChecking=no 自动拉去主机key文件
PasswordAuthentication=no 禁止密码认证
-v:跟多数命令中-v一样,用来显示详细信息
示例:
[root@localhost ~]# scp system.sh root@192.168.19.51:/root #本地复制文件到远程,并指定远程以root登录 The authenticity of host ‘192.168.19.51 (192.168.19.51)‘ can‘t be established. RSA key fingerprint is 14:1a:ee:3c:8c:14:6d:4a:fd:d8:c7:c6:ea:87:0c:de. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ‘192.168.19.51‘ (RSA) to the list of known hosts. root@192.168.19.51‘s password: system.sh 100% 7273 7.1KB/s 00:00 [root@localhost ~]# scp dir001 root@192.168.19.51:/root #复制目录不加参数就会报错 \root@192.168.19.51‘s password: dir001: not a regular file [root@localhost ~]# scp -r dir001 root@192.168.19.51:/root #所以加-r目录才会复制过去 root@192.168.19.51‘s password: [root@localhost ~]#
说明:举几个常用的例子,其他参数后续再完善
13.2.rsync
功能:一种快速的、通用的、远程的(本地)文件复制工具,据说是scp速度的20倍
常用选项:
-v 显示复制信息
-q 不输出错误信息
-c 跳过基础效验,不判断修改时间和大小
-a 归档模式,等效-rlptgoD,保留权限、属组等
-r 递归目录
-l 拷贝软连接
-z 压缩传输数据
-e 指定远程shell,比如ssh、rsh
--progress 进度条,等同-P
--bwlimit=KB/s 限制速率,0为没有限制
--delete 删除那些DST中SRC没有的文件
--exclude=PATTERN 排除匹配的文件或目录
--exclude-from=FILE 从文件中读取要排除的文件或目录
--password-file=FILE 从文件读取远程主机密码
--port=PORT 监听端口
示例:
[root@localhost ~]# ls . /opt .: anaconda-ks.cfg dir003 dir006 dir009 install.log.syslog dir001 dir004 dir007 dir010 system.sh dir002 dir005 dir008 install.log /opt: #这个目录没有文件 [root@localhost ~]# rsync -av * /opt #把当前目录所有文件同步到opt目录下 sending incremental file list anaconda-ks.cfg install.log install.log.syslog system.sh dir001/ dir002/ dir003/ dir004/ dir005/ dir006/ dir007/ dir008/ dir009/ dir010/ sent 31002 bytes received 128 bytes 62260.00 bytes/sec total size is 30574 speedup is 0.98 [root@localhost ~]# ls /opt #现在有文件了 anaconda-ks.cfg dir003 dir006 dir009 install.log.syslog dir001 dir004 dir007 dir010 system.sh dir002 dir005 dir008 install.log [root@localhost ~]# rsync -av * 192.168.19.51:/opt #本地目录所有文件同步到远端 [root@localhost ~]# rsync -av --delete * 192.168.19.51:/opt #保持远程主机目录与本地一样
本文出自 “烂笔头” 博客,请务必保留此出处http://lanbitou.blog.51cto.com/9921494/1934260
远程传输命令(十三)