Linux下SCP后台运行传输文件
2018-01-05 16:52
861 查看
原文出处:
http://blog.itpub.net/205377/viewspace-1755848/ http://blog.csdn.net/shaochenshuo/article/details/51442610
有的时候我们需要SCP拷贝的文件很大,不能一直等着,那如何使SCP可以在后台运行呢?
下面介绍一个简单的方法:
1、运行SCP命令
[root@test dpdir]# nohup scp OUTDB_ERR??.dmp oracle@192.168.1.133:/oradir
2、输入密码
nohup: appending output to nohup.out
oracle@192.168.1.133's password:
此时输完密码进程会挂起,还是在前台运行
3、输入ctrl+z暂停程序
会出现如下提示:
[1]+ Stopped nohup scp OUTDB_ERR??.dmp oracle@192.168.1.133:/oradir
4、执行bg使进程在后台继续运行
[root@test dpdir]# bg
[1]+ nohup scp OUTDB_ERR??.dmp oracle@192.168.1.133:/oradir &
[root@test dpdir]#
这样4步可以使SCP在后台运行,搞定
。
整个过程的输出日志大概下面这样,仅供参考。
====================================
linux 下后台执行scp
因为要传输一个大文件到另一台服务器上,因为传输速度不是很高,传输需要十几个小时,为了保证传输过程不会因为其他原因导致中断,准备把scp放到后台运行。说到后台执行 我们都知道 nohup command &,但是scp命令需要输入密码,所以无法直接使用nohup 。
方法1:
我们可以先配置两台服务器之间的互信,然后在执行
1)配置互信
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.172.230.211
##配置成功后,可以在本服务器免密码登录172.172.230.211
2)后台执行scp
nohup scp -l 100000 test.tar root@172.172.230.211:/data &
##可以使用-l控制传输速度,传输过程中占用过大带宽,影响其他服务器。(100000/8/1024=12M)
方法2:使用bg命令转后台执行
1) 直接执行scp
scp -l 100 ibdata1 root@172.172.230.211:/data
2) 查看scp进程号
ps -a
PID TTY TIME CMD
30761 pts/4 00:12:45 mysql
31928 pts/5 00:00:00 scp
31
4000
930 pts/5 00:00:00 ssh
32006 pts/3 00:00:00 ps
3) 暂停进程
kill -stop procNumber
kill -stop 31928 >>命令输出如下:
[html]
view plain
copy
[root@shaofei-test-mysql-01 db_recover]# scp -l 100 ibdata1 root@172.172.230.211:/data
root@172.172.230.211's password:
ibdata1 0% 3024KB 12.6KB/s 39:22:36 ET
<span style="color:#ff0000;">[1]+</span> Stopped scp -l 100 ibdata1 root@172.172.230.211:/data
##注意该输出信息是在你执行scp的session中(从输出信息中我们可以看到scp的job号为1)
4) 查看jobs
[html]
view plain
copy
jobs
1]+ Stopped scp -l 100 ibdata1 root@172.172.230.211:/data
##此时我们看到的是刚刚被我们暂停的scp,job号为1。(该命令需要在之前执行scp的session下执行才会有输出)
4) 把scp转到后台执行
bg 1 >>命令输出如下:
[html]
view plain
copy
bg 1
1]+ scp -l 100 ibdata1 root@172.172.230.211:/data &
##bg命令需要在之前执行scp的session执行,如果在其他窗口执行会报如下错误:
[html]
view plain
copy
bg 1
-bash: bg: 1: no such job
##可以使用fg jobnum 把进程掉到前台来执行
http://blog.itpub.net/205377/viewspace-1755848/ http://blog.csdn.net/shaochenshuo/article/details/51442610
有的时候我们需要SCP拷贝的文件很大,不能一直等着,那如何使SCP可以在后台运行呢?
下面介绍一个简单的方法:
1、运行SCP命令
[root@test dpdir]# nohup scp OUTDB_ERR??.dmp oracle@192.168.1.133:/oradir
2、输入密码
nohup: appending output to nohup.out
oracle@192.168.1.133's password:
此时输完密码进程会挂起,还是在前台运行
3、输入ctrl+z暂停程序
会出现如下提示:
[1]+ Stopped nohup scp OUTDB_ERR??.dmp oracle@192.168.1.133:/oradir
4、执行bg使进程在后台继续运行
[root@test dpdir]# bg
[1]+ nohup scp OUTDB_ERR??.dmp oracle@192.168.1.133:/oradir &
[root@test dpdir]#
这样4步可以使SCP在后台运行,搞定
。
整个过程的输出日志大概下面这样,仅供参考。
====================================
linux 下后台执行scp
因为要传输一个大文件到另一台服务器上,因为传输速度不是很高,传输需要十几个小时,为了保证传输过程不会因为其他原因导致中断,准备把scp放到后台运行。说到后台执行 我们都知道 nohup command &,但是scp命令需要输入密码,所以无法直接使用nohup 。
方法1:
我们可以先配置两台服务器之间的互信,然后在执行
1)配置互信
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.172.230.211
##配置成功后,可以在本服务器免密码登录172.172.230.211
2)后台执行scp
nohup scp -l 100000 test.tar root@172.172.230.211:/data &
##可以使用-l控制传输速度,传输过程中占用过大带宽,影响其他服务器。(100000/8/1024=12M)
方法2:使用bg命令转后台执行
1) 直接执行scp
scp -l 100 ibdata1 root@172.172.230.211:/data
2) 查看scp进程号
ps -a
PID TTY TIME CMD
30761 pts/4 00:12:45 mysql
31928 pts/5 00:00:00 scp
31
4000
930 pts/5 00:00:00 ssh
32006 pts/3 00:00:00 ps
3) 暂停进程
kill -stop procNumber
kill -stop 31928 >>命令输出如下:
[html]
view plain
copy
[root@shaofei-test-mysql-01 db_recover]# scp -l 100 ibdata1 root@172.172.230.211:/data
root@172.172.230.211's password:
ibdata1 0% 3024KB 12.6KB/s 39:22:36 ET
<span style="color:#ff0000;">[1]+</span> Stopped scp -l 100 ibdata1 root@172.172.230.211:/data
##注意该输出信息是在你执行scp的session中(从输出信息中我们可以看到scp的job号为1)
4) 查看jobs
[html]
view plain
copy
jobs
1]+ Stopped scp -l 100 ibdata1 root@172.172.230.211:/data
##此时我们看到的是刚刚被我们暂停的scp,job号为1。(该命令需要在之前执行scp的session下执行才会有输出)
4) 把scp转到后台执行
bg 1 >>命令输出如下:
[html]
view plain
copy
bg 1
1]+ scp -l 100 ibdata1 root@172.172.230.211:/data &
##bg命令需要在之前执行scp的session执行,如果在其他窗口执行会报如下错误:
[html]
view plain
copy
bg 1
-bash: bg: 1: no such job
##可以使用fg jobnum 把进程掉到前台来执行
相关文章推荐
- 在linux终端下使用scp与远程windows传输文件
- linux下利用nohup后台运行jar文件包程序
- linux下利用nohup后台运行jar文件包程序
- linux scp 命令(在两台linux服务器上传输文件)
- Linux下用SCP无需输入密码传输文件
- Linux下用SCP无需输入密码传输文件
- Linux间传输文件的几种方法scp、sftp
- Linux下用SCP无需输入密码传输文件
- linux命令——scp 两台linux机器间文件或目录传输
- Linux SSH远程文件/目录传输命令scp
- linux下SCP命令 传输文件
- Mac 用SCP 向Linux传输文件
- Linux SSH远程文件/目录传输命令scp
- mac下用scp命令实现本地文件与服务器Linux文件之间的相互传输
- Linux下使用scp&sftp传输文件
- Linux SSH远程文件/目录传输命令scp
- Linux SSH远程文件/目录传输命令scp
- mac下用scp命令实现本地文件与服务器Linux文件之间的相互传输
- Linux SSH远程文件/目录传输命令scp
- Linux scp远程文件/目录传输