Linux | scp 和 使用nohup后台运行scp 复制大文件

参考:
https://blog.csdn.net/xianglingchuan/article/details/72872459
https://blog.csdn.net/xiaoliyi185/article/details/90704812

scp 命令

scp 命令用于 Linux 之间复制文件和目录。

scp 与熟悉的 cp 程序非常相似。最显著的区别就是源或者目标路径名要以远端主机的名字,后跟一个冒号字符开头。

命令格式:scp local_file username@ip:remote_file
例:scp /chroot/www/web.war root@106.144.256.256:/chroot/bak/scp/web.war

nohup 命令

用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

命令格式: nohup Command [ Arg … ] [ & ]
例: nohup /root/runoob.sh &

使用 nohup 后台运行 scp 传送大文件

有时候需要复制的文件太大,或者数量太多,需要使用nohup命令后台运行 scp

不过 直接 使用 nohup ... & 无法输入远程主机密码

解决步骤:

  1. 不加末尾&,执行命令后会提示输入密码,
  2. 输入密码之后,按Ctrl+Z退出
  3. 运行bg命令,查看命令信息.
  4. exit退出终端

如图:
在这里插入图片描述
可以使用 jobs 命令查看scp进程是stop状态还是run状态值
如果是stop状态用bg 1启动该服务。

最后,如果发现关闭窗口,后台scp进程可能也会中断,可以输入exit命令退出终端,关闭ssh连接,这样后台程序可以保持运行

注意:
1.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
2.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,需要添加-p参数。

关闭当前后台运行的命令

  ps -aux | grep "test.sh"    #a:显示所有程序  u:以用户为主的格式来显示   x:显示所有程序,不以终端机来区分

  kill命令:结束进程

 (1)通过jobs命令查看jobnum,然后执行   kill %jobnum

 (2)通过ps命令查看进程号PID,然后执行  kill %PID

   如果是前台进程的话,直接执行 Ctrl+c 就可以终止了
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值