linux scp放后台执行方法

 使用scp传输大文件时,放后台跑,从本地复制文件到远程服务器

scp -l 40960 -r bak 远程服务器ip:/data/bak/

     注:-r为递归复制整个目录;-l 为限制scp占用的宽带,单位为:Kbit/s,例子中为 40960/8/1024=5MB/s。可以不加此参数。

输入远端服务器密码后,会开始文件传输,显示传输进度。

输入ctrl + z 暂停

[1]+  Stopped                 scp -r bak/ 10.30.1.1:/data/bak/

此时查看jobs:

[root@ubuntu]# jobs
[1]+  Stopped                 scp -r bak/ 10.30.1.1:/data/bak/

bg将该任务号放入后台:

[root@ubuntu]# bg %1
[1]+ scp -r bak/ 10.30.1.1:/data/bak/ &

查看任务已经在后台运行:

[root@ubuntu]# jobs
[1]+  Running                 scp -r bak/ 10.30.1.1:/data/bak/ &

使用disown -h 将这个作业忽略HUP信号:

[root@ubuntu]# disown -h %1
[root@ubuntu]# jobs
[1]+  Running                 scp -r bak/ 10.30.1.1:/data/bak/ &

退出登录,再次进去查看任务运行状态和父进程号:

[root@ubuntu]# ps -ef|grep scp

发现scp任务继续运行,没有因为会话断开而中断,父进程号变为1。

如果有其他任务需要使用nohup后台运行,但执行时却忘记了使用nohup,也可以参照此方法进行设置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章