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,也可以参照此方法进行设置。
还没有评论,来说两句吧...