让scp进行后台工作的方法

需要从一台服务器上scp大量数据到另外一台服务器上,开始想当然的以为用&可以解决,使用时发现问题不能直接使用,搜索了一下,发现这儿已经有现成的解决方法了:http://blog.01china.com/?p=71

在一次备份文件过程中,因为数据量大,指向托管给系统来做.

scp拷贝文件,尝试了一下命令行的路径都没错,能连接能正常拷贝文件后,直接断掉然后结尾补充一个&号准备托管出去

额.之前没想到的是scp是需要交互的,需要问远程密码.

除非做双机互信或者ssh1.1的keyfile方式能绕过这步,但在实际环境和安全上都不允许这两种方式.

只能求助万能的shell.

首先暂停任务,释放命令行出来

按ctrl+z,会有提示,一个任务被系统挂起,这里举个例子

[1]+  Stopped                 tail -f access.log

然后bg

亲,这就哦克了哦

因为大部分情况我们或者有写好的shell程序来做,或者直接行尾一个&就解决了.所以回想一下这个用到不多的命令组

ctrl+z : 当前任务挂起,释放命令行

bg :  将挂起任务转到后台并运行.两种用法,当前只有一个挂起的进程时候,直接bg就可以,有两个时候,要bg PID.

fg: 将后台任务提到前台来.也是两种用法,当前只有一个挂起的进程时候,直接fg就可以,有两个时候,要fg PID.

jobs: 会列出当前系统托管的后台进程

总结一下,就是正常用命令,然后ctrl+z挂起,用bg转到后台。若不放心,可以用fg再调到前台,当然要转入后台,再重新操作即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注