其实是个很有意思的问题,网站数据75G,压缩过后65G,原想着tar打包利用ftp发到另外一个服务器上,再解压。后来发现,服务器只有100G的磁盘,那么解压过程中肯定会把磁盘占满,也不会完全成功解压。所以试试scp命令。
scp特点是不占资源,系统负荷低。rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。(这句话抄的,因为没用过rsync,不过rsync功能应该比较强大) scp(scure copy,安全拷贝)基于ssh登陆,可以在linux服务器之间上传、下载文件和目录。
-1,-2 强制使用ssh1或ssh2协议
-4,-6 强制使用ipv4或ipv6寻址
-B 使用批处理模式(传输过程不询问传输口令或短语)
-C 允许压缩
-p 保留原始文件修改、访问时间和访问权限
-q 不显示传输进度条
-r 递归复制整个目录
-v 详细方式显示输出
-c 将数据加密传输
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh (不懂)
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh
-l 限制传输带宽,Kbit/s
-P 指定数据传输用到的端口号
连接途中,会让你输入目标服务器的ssh密码,默认ssh端口为22,如果端口非22,如8888,那么记得加参数 -P 8888。 1.从服务器下载文件
scp username@servername:/path/filename /path/local_destination
例如:scp 192.168.80.9@root:/root/1.txt /root
即将192.168.80.9的root文件夹下的1.txt拷贝到本地服务器的root文件夹下。
2.上传本地文件到服务器
scp /path/local_filename username@servername:/path
例如:scp /root 192.168.80.9@root:/root/1.txt
3.下载或上传文件夹
scp -r username@servername:remote_dir/ /tmp/local_dir
scp -r /tmp/local_dir username@servername:remote_dir
加入-r参数即可
其他,造葫芦画瓢即可。
如果传输文件过多或过大(我这种),记得使用screen -S xxx
,防止中途 ssh 断掉而导致的传输不成功。
传输ing....
Last modification:December 19th, 2019 at 03:38 pm