scp介绍
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
语法格式:
scp [参数] [Source_File] [user:][Dest_File]
常用参数介绍:
-p:保留原文件的属性信息(修改时间、访问时间和访问权限)
-r :递归复制整个目录
-q:不显示数据传输过程
使用示例:
1.从本机拷贝文件夹到另一台ip为172.16.1.41的计算机中
# 不加任何参数,属性信息不会保留
[root@nfs01 ~]# scp /etc/hosts 172.16.1.41:/backup
root@172.16.1.41's password:
hosts
100% 176 226.0KB/s 00:00
# 添加-p 参数,保留属性信息
[root@nfs01 ~]# scp -p /etc/hosts 172.16.1.41:/backup
root@172.16.1.41's password:
hosts 100% 176 155.9KB/s 00:00
# 添加-r 参数,可以递归备份目录
[root@nfs01 ~]# scp -pr /data/ 172.16.1.41:/backup
root@172.16.1.41's password:
01.txt 100% 0 0.0KB/s 00:00
02.txt 100% 0 0.0KB/s 00:00
# 添加-q 参数,不显示数据传输过程
[root@nfs01 data]# scp -pq /etc/hosts 172.16.1.41:/backup
root@172.16.1.41's password:
2.从172.16.1.41的计算机拷贝文件到本机
[root@nfs01 data]# scp -p 172.16.1.41:/etc/sysconfig/network-scripts/ifcfg-eth0 /data
root@172.16.1.41's password:
ifcfg-eth1 100% 313 242.6KB/s 00:00
[root@nfs01 data]# ll
total 4
-rw-r--r-- 1 root root 313 Mar 29 09:31 ifcfg-eth1
[root@nfs01 data]# cat ifcfg-eth1 |grep "IPADDR"
IPADDR=172.16.1.41