linux scp 后台执行

scp 复制数据库文件较大 前台执行容易出现会话断开导致执行失败,因此放置后台执行

scp root@47.99.95.149:/home/www/bak.sql /root/hr_sql

输入密码后 按 ctrl + z 暂停

[1]+ Stopped scp root@47.99.95.149:/home/www/bak.sql /root/hr_sql

此时查看jobs

[root@localhost hr_sql]# jobs
[1]+ Stopped scp root@47.99.95.149:/home/www/bak.sql /root/hr_sql

bg将该任务号放入后台:

[root@localhost hr_sql]# bg %1
[1]+ scp root@47.99.95.149:/home/www/bak.sql /root/hr_sql &

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

[root@localhost hr_sql]# jobs
[1]+ Running scp root@47.99.95.149:/home/www/bak.sql /root/hr_sql &

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

[root@localhost hr_sql]# disown -h %1
[root@localhost hr_sql]# jobs
[1]+ Running scp root@47.99.95.149:/home/www/bak.sql /root/hr_sql &

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

[root@localhost hr_sql]# ps axu |grep scp
root 12104 0.1 0.0 154852 2076 pts/2 S 15:50 0:00 scp root@47.99.95.149:/home/www/bak.sql /root/hr_sql
root 12105 0.5 0.0 176336 4608 pts/2 S 15:50 0:01 /usr/bin/ssh -x -oForwardAgent=no -oPermitLocalCommand=no -oClearAllForwardings=yes -l root -- 47.99.95.149 scp -f /home/www/bak.sql
root 12338 0.0 0.0 112812 976 pts/2 S+ 15:55 0:00 grep --color=auto scp

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

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

 

posted @ 2022-02-23 15:55  45645+56  阅读(449)  评论(0)    收藏  举报