前期准备

打开我们的远程连接工具,输入账号密码登录到有文件的服务器

找到你要传输的文件或者文件夹

输入pwd ,可以得到路径

设置好你的接收文件的服务器的路径

测试一下,输入命令

scp -r   /root/d/t/ root@10.127.40.25:/vdb/test

输入密码

成功

几种方式

对拷文件夹 (包括文件夹本身)

 scp -r  /home/helpteach/project/mallupload/ root@10.127.40.25:/home/test

对拷文件夹下所有文件 (不包括文件夹本身)

 scp  /home/helpteach/project/mallupload/* root@10.127.40.25:/home/test

对拷文件并重命名

 scp  /home/helpteach/project/mallupload/1509681299449.png root@10.127.40.25:/home/test/test.png 

各项含义:

/home/helpteach/project/mallupload/1509681299449.png:要传输的文件

root:目标服务器ssh账号名

ip:目标服务器的IP地址

/home/test:要传输到目标服务器的文件保存目录

后台运行

文件太大而且多,那就放后台运行

运行刚才的命令,输入密码后

输入ctrl + z 暂停

[1]+  Stopped                 scp -r /u01/media/Disk1/ 192.168.1.31:/u01/media/
[root@oradb30 ~]# 

此时查看jobs

[root@oradb30 ~]# jobs
[1]+  Stopped                 scp -r /u01/media/Disk1/ 192.168.1.31:/u01/media/
[root@oradb30 ~]# 

bg将该任务号放入后台:

[root@oradb30 media]# bg %1
[1]+ scp -r Disk1/ 192.168.1.31:/u01/media/ &

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

[root@oradb30 media]# jobs
[1]+  Running                 scp -r Disk1/ 192.168.1.31:/u01/media/ &

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

[root@oradb30 media]# disown -h %1
[root@oradb30 media]# jobs
[1]+  Running                 scp -r Disk1/ 192.168.1.31:/u01/media/ &

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

[root@oradb30 media]# ps -ef|grep scp
root     12704 12638  0 05:19 pts/0    00:00:01 scp -r Disk1  192.168.1.31 /u01/media/
root     12705 12704  8 05:19 pts/0    00:00:17 /usr/bin/ssh -x -oForwardAgent no -oPermitLocalCommand 
no -oClearAllForwardings yes 192.168.1.31 scp -r -t /u01/media/
root     12823 12638  0 05:22 pts/0    00:00:00 grep scp

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


[1]: https://jscdn.cachefly.net/web/wxiou/20200623142850.png
最后修改:2020 年 07 月 24 日
如果觉得我的文章对你有用,请随意赞赏