scp命令的一个实例

Linux下scp的用法

scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令。

有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。

一、将本机文件复制到远程服务器上

#scp /home/administrator/news.txt root@192.168.6.129:/etc/squid

/home/administrator/ 本地文件的绝对路径

news.txt 要复制到服务器上的本地文件

root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

192.168.6.129 远程服务器的ip地址(也可以使用域名或机器名)

/etc/squid 将本地文件复制到位于远程服务器上的路径



二、将远程服务器上的文件复制到本机

#scp remote@www.abc.com:/usr/local/sin.sh /home/administrator

remote 通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

www.abc.com 远程服务器的域名(当然也可以使用该服务器ip地址)

/usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件

/home/administrator 将远程文件复制到本地的绝对路径

注意两点:

1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。



以下是支持断点续传的命令使用


scp 断点续传



2013年05月20日  ⁄ 综合 ⁄ 共 605字 ⁄ 字号  小 中 大  ⁄ 评论关闭




scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,这几天我就遇到过,一个tar包,400G左右,通过scp拷贝时,有可能遇到服务器断电什么的悲剧问题,那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后,下次继续传,命令如下:

rsync -P --rsh=ssh home.tar 192.168.0.34:/home/home.tar

-P: 是包含了 “–partial –progress”, 部分传送和显示进度

-rsh=ssh 表示使用ssh协议传送数据

如果不想每次都使用 rsync -P rsh=ssh 之类的,可以写成alias scpr="rsync -P --rsh=ssh"

那么下次就可以直接使用 scpr home.tar 192.168.0.34:/home/home.tar 来拷贝数据了。

在传输过程中,目标文件会以.home.tar.xxxx文件也隐藏,可以用la -a来显示出来。如果scpr中断了,那么该文件会变成用户指定的目标文件"home.tar",下次传的时候又会改成.home.tar.xxxx文件。

执行rsync过程中,我们肯定希望把这个job放入后台执行,而不因为secureCRT类似的窗口中断受影响,那么在执行了

rsync -P --rsh=ssh home.tar 192.168.0.34:/home/home.tar, 再输出密码后,可以用ctrl+z 来中断,再使用bg命令让它在后台执行。




scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,这几天我就遇到过,一个tar包,400G左右,通过scp拷贝时,有可能遇到服务器断电什么的悲剧问题,那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后,下次继续传,命令如下:

rsync -P --rsh=ssh home.tar 192.168.0.34:/home/home.tar

-P: 是包含了 “–partial –progress”, 部分传送和显示进度

-rsh=ssh 表示使用ssh协议传送数据

如果不想每次都使用 rsync -P rsh=ssh 之类的,可以写成alias scpr="rsync -P --rsh=ssh"

那么下次就可以直接使用 scpr home.tar 192.168.0.34:/home/home.tar 来拷贝数据了。

在传输过程中,目标文件会以.home.tar.xxxx文件也隐藏,可以用la -a来显示出来。如果scpr中断了,那么该文件会变成用户指定的目标文件"home.tar",下次传的时候又会改成.home.tar.xxxx文件。

执行rsync过程中,我们肯定希望把这个job放入后台执行,而不因为secureCRT类似的窗口中断受影响,那么在执行了

rsync -P --rsh=ssh home.tar 192.168.0.34:/home/home.tar, 再输出密码后,可以用ctrl+z 来中断,再使用bg命令让它在后台执行。