最近有一个需求,有两台Linux服务器 A(HostName:SoftBase) 与 B(ip:10.191.142.11)
A服务器上没有搭建Samba及FTP服务。。。。(懒)
B服务器上开了Samba及FTP。
两台服务器都是资源存储服务器,并且都存了不同的资源数据。
有一天,一同事想查看及下载A服务器上的部分资源;du了一下,不太大。
便想将整个文件夹上传到B服务器上,再让其通过B服务器的FTP进行下载。
使用到了命令SCP。
[Nerc@SoftBase 2014XJ01老年健康]$ scp 2014XJ01_01肺癌 root@10.191.142.11:/mnt/WeiKe/01微课(公司)/生活休闲/保健/2014XJ01老年健康/
ssh: connect to host 10.191.142.11 : Connection timed out
lost connection
但是B服务器的SSH默认端口22已经修改成了9222 所以要在SCP 后面加上-P参数予以定义SSH的端口。。
[Nerc@SoftBase 2014XJ01老年健康]$ scp -P 9222 2014XJ01_01肺癌 root@10.191.142.11:/mnt/WeiKe/01微课(公司)/生活休闲/保健/2014XJ01老年健康/
root@10.191.142.11’s password:
2014XJ01_01肺癌: not a regular file
因为要拷贝的是一个文件夹,而不是一个文件,所以还要在端口号后面加上参数**-pr**,以保障对文件夹内的所有文件进行递归拷贝。
[Nerc@SoftBase 2014XJ01老年健康]$ scp -P 9222 -pr 2014XJ01_01肺癌 root@10.191.142.11:/mnt/WeiKe/01微课(公司)/生活休闲/保健/2014XJ01老年健康/
root@10.191.142.11’s password:
1.avi 100% 439MB 11.3MB/s 00:39
1.psd 100% 3756KB 3.7MB/s 00:00
10-.avi 100% 534MB 11.1MB/s 00:48
11-.avi 100% 1100MB 11.2MB/s 01:38
......
还有一个需求,我上面的操作是将A(HostName:SoftBase)服务器下的**2014XJ01老年健康/2014XJ01\_01肺癌
** 这个文件夹内的所有文件给上传上去了,可是我的根本需求是将2014XJ01老年健康下所有的文件都上传到B(ip:10.191.142.11)服务器下。所以正确的命令路径应该是下面这样。。
[Nerc@SoftBase 2014XJ01老年健康]$ scp -P 9222 -pr * root@10.191.142.11:/mnt/WeiKe/01微课(公司)/生活休闲/保健/2014XJ01老年健康/
以上,执行完后等待完成就行了,网速比较慢得等一会儿了。。。
反之,需要将文件从服务器上B(ip:10.191.142.11) 下载到本地机器 A(HostName:SoftBase)上的话,命令为:
[Nerc@SoftBase 2014XJ01老年健康]$ scp -P 9222 -pr root@10.191.142.11:/mnt/WeiKe/01微课(公司)/生活休闲/保健/2014XJ01老年健康/2014XJ01_01肺癌 /mnt/sdb1/01微课(公司)/生活休闲/保健/2014XJ01老年健康/
[Nerc@SoftBase 2014XJ01老年健康]$ scp -P 9222 -pr root@10.191.142.11:/mnt/WeiKe/01微课(公司)/生活休闲/保健/2014XJ01老年健康/2014XJ01_01肺癌 /mnt/sdb1/01微课(公司)/生活休闲/保健/2014XJ01老年健康/
root@10.191.142.11’s password:
如果需要拷贝的文件太多的话,时间就会有点儿长,万一忘了将xshell窗口关掉的话就会传输中断了,所以还需要将scp任务放置到后台运行。
正常执行scp命令
[root@NAS18 课程开发部]# scp -pr * admin@10.191.142.4:/volume1/homes/admin/18-Serveradmin@10.191.142.4's password:
01《新民主主义论》中的三大纲领.mp4 100% 191MB 5.6MB/s 00:34
02从《中国社会各阶层的分析》中看雠100% 188MB 5.6MB/s 00:33
03毛泽东创立新民主主义革命道路.mp4 100% 192MB 5.6MB/s 00:34
04三个维度--毛泽东思想活的灵魂.mp4 100% 197MB 5.6MB/s 00:35
.........
输入**Ctrl+z
** 暂停作业任务
3-1-3惊醒了中国的十月革命惊雷.mp4 100% 321MB 5.6MB/s 00:57
3-2-1请说大白话.mp4 100% 269MB 5.6MB/s 00:48
3-2-2最红的救国秘方——”民主”与ᾠ100% 285MB 5.6MB/s 00:50
3-2-3青年学生的愤怒——五四运动.mp4 3% 13MB 7.2MB/s 00:45 ETA^Z
[1]+ Stopped scp -pr * admin@10.191.142.4:/volume1/homes/admin/18-Server
[root@NAS18 课程开发部]#
- 浅谈Ctrl+z
我们都知道kill命令可以杀死进程,但是实际上kill是给程序发送信号,信号是操作系统与程序之间进行通信时所采用的几种方式中的一种(最近阅读的操作系统概念中也提到了。)
在使用Ctrl-z和Ctrl-c,终端接受了其中一个按键组合,会给前端运行的程序发送一个信号。使用Ctrl-c的情况下,会发送一个叫做INT的信号;当使用Ctrl-z时,则发送一个叫做TSTP(Terminal Stop终端停止)的信号。程序监听到信号的到来,做出响应。
kill也可以给进程发送信号,下面看看可以发送的信号有哪些:
[root@Applets conf.d]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
- 查看作业项
[root@NAS18 课程开发部]# jobs
[1]+ Stopped scp -pr * admin@10.191.142.4:/volume1/homes/admin/18-Server
此时看到有一个任务项是处于停止状态的
将作业放到后台
[root@NAS18 课程开发部]# bg %1
[1]+ scp -pr * admin@10.191.142.4:/volume1/homes/admin/18-Server &
# bg %1 即将1号作业放置于后台运行
# fg %1 即将1号作业放置于前台运行
- 查看作业项
[root@NAS18 课程开发部]# jobs
[1]+ Running scp -pr * admin@10.191.142.4:/volume1/homes/admin/18-Server &
会话中断测试
断开该会话测试作业是否可以继续后台运行:
[root@NAS18 课程开发部]# exit
logout
Connection closing...Socket close.
Connection closed by foreign host.
Disconnected from remote host(__NAS_18) at 13:20:34.
Type `help' to learn how to use Xshell prompt.
[D:\~]$
Connecting to 10.191.142.18:22...
Connection established.
To escape to local shell, press Ctrl+Alt+].
WARNING! The remote SSH server rejected X11 forwarding request.
Welcome to Tnas!
[root@NAS18 ~]# jobs
[root@NAS18 ~]# ps -ef|grep scp
root 10245 1 1 11:16 ? 00:01:56 scp -pr 01微课(公司自建) 02微课(市场项?) 03视频课 04其他文件 admin@10.191.142.4:/volume1/homes/admin/18-Server
root 10246 10245 13 11:16 ? 00:16:27 /usr/bin/ssh -x -oForwardAgent=no -oPermitLocalCommand=no -oClearAllForwardings=yes -l admin -- 10.191.142.4 scp -r -p -d -t /volume1/homes/admin/18-Server
root 23386 23313 0 13:21 pts/2 00:00:00 grep scp