linux的scp命令可以在linux主机之间复制文件和目录;
命令基本格式:
scp [可选参数] file_source file_target
###1、从本地复制到远程
####复制文件
命令格式:
scp local_file username@ip:remote_file
例:
scp /chroot/www/web.war root@106.144.256.256:/chroot/bak/scp/web.war
####复制目录
命令格式: local_folder username@ip:remote_folder
例:
scp -r /chroot/www/website root@106.144.256.256:/chroot/bak/scp/website
###2、从远程复制到本地
####复制文件
命令格式:
scp username@ip:remote_file local_file
例:
scp root@106.144.256.256:/chroot/bak/scp/website.war /chroot/bak/scp/website.war
####复制目录
命令格式:
scp -r username@ip:remote_folder local_folder
例:
scp -r root@106.144.256.256:/chroot/bak/lnmp1.3 /chroot/bak/scp/lnmp1.3
###3、后台运行scp命令复制超大文件或目录
有时候cp过大的文件希望能在后台运行可以跟nohup组合使用
nohup scp -r /chroot/www/website root@106.144.256.256:/chroot/bak/scp/website > nohup.out 2>&1
执行命令后会提示输入密码,输入密码之后按Ctrl+Z退出
运行bg命令,查看命令信息.
如:
[root ~]# bg
[1]+ nohup scp -r /chroot/www/website root@106.144.256.256:/chroot/bak/scp/website > nohup.out 2>&1 &
注意:
1.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
2.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,需要添加-p参数。
附:nohup命令参考
nohup 命令
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部。
2019-01-23
发现关闭窗口后台进程也会断掉
解决办法:
用户jobs查看scp进程是stop状态还是run状态值
如果是stop状态用bg 1启动该服务。
例如:
[root@VM_16_6_centos data]# scp root@192.168.11.41:/data/public_uploads_user.tar.gz ./ > nohup_edu.out 2>&1
root@192.168.11.41's password:
^Z
[1]+ Stopped scp root@192.168.11.41:/data/public_uploads_user.tar.gz ./ > nohup_edu.out 2>&1
#查看scp状态值
[root@VM_16_6_centos data]# jobs
[1]+ Stopped scp root@192.168.11.41:/data/public_uploads_user.tar.gz ./ > nohup_edu.out 2>&1
#执行bg 1
[root@VM_16_6_centos data]# bg 1
[1]+ scp root@192.168.11.41:/data/public_uploads_user.tar.gz ./ > nohup_edu.out 2>&1 &
#在次查看scp状态值
[root@VM_16_6_centos data]# jobs
[1]+ Running scp root@192.168.11.41:/data/public_uploads_user.tar.gz ./ > nohup_edu.out 2>&1 &
[root@VM_16_6_centos data]#