Bootstrap

Linux服务器之间实现文件传输

简介

  前几天突然需要用从一台linux把文件传输到另一台linux上,突然有点不习惯,因为以前都是用windows作为跳板机进行操作的。经过几天熟悉,总结自己的一些经验,分享下几种简单的解决方式:

  • 网络文件系统,英文Network File System(NFS)
  • 安全拷贝,英文Secure Copy(SCP)

内容

  一、NFS——网络文件系统 

  是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。

  • 原理:​基于TCP/IP传输的网络文件系统协议,通过NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
  • 端口号 :NFS端口 2049、 RPC端口 111
  • 特点:采用TCP/IP传输网络文件;安全性低;简单易操作;适合局域网环境等。
  安装
  1.检查是否安装
rpm -qa|grep nfs

  

rpm -qa|grep rpcbind

  

  如果没有就执行下面命令进行安装

yum -y install nfs-utils rpcbind
  2.配置 

  创建共享文件目录

mkdir -p /sharefile

  授权共享文件目录

cd /
chmod 777 sharefile

  进入配置文件(vi文本编辑器)

vi /etc/exports

  添加配置信息(其中的ip地址根据客户端进行配置)后保存。

// 所有局域网内的ip(测试用)
/sharefile *(rw,no_root_squash,no_all_squash,insecure)
// 单个ip(生产用)
/sharefile 客户端IP/24(rw,no_root_squash,no_all_squash,insecure)
  3.防火墙状态

  测试的时候可以关闭,生产的时候建议开放端口即可

// 查看状态
service iptables status
// 关闭防火墙
service iptables stop
  4.启动服务
// rpc服务
service rpcbind start
// nfs服务
service nfs start
// rpc服务开机启动
systemctl enable rpcbind
// nfs服务开机启动
systemctl enable nfs
  5.检查服务
// 检查nfs服务
service nfs status
// 检查rpc服务
service rpcbind status

  6.检查服务-客户端
showmount -e 服务器ip

  7.配置-客户端

  创建共享文件夹

mkdir -p /sharefileclient

  授权共享文件目录

cd /
chmod 777 sharefileclient

  挂载

mount 服务端Ip:/sharefile /sharefileclient

  查看挂载情况

df -Th

  用法

  到此所有配置完成,服务器上的sharefile文件夹下里面添加和新增删除文件时,客户端上sharefileclient文件夹下也能看见。反之客户端在文件夹下添加和新增删除文件时服务器上也能看见。这样就可以通过这个共享文件夹进行文件的传输,用的时候最好把文件复制出来再操作,不要在共享文件下操作

  总结

  配置难度一般,后期使用方便。

  二、SCP——安全拷贝

  主要作用是实现Linux与Linux系统之间的文件传输。它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。

  • 原理:基于SSH协议,所以两台服务器的sshd服务必须处于开启状态,否则无法完成上传与下载操作。
  • 端口号: 22
  • 特点:不占资源,加密性好。
  用法
  传输文件

  scp linux本地文件路径 远程用户名@远程linux主机地址:远程路径。

  参数

  • r :递归操作
  • q :  静默传输
  • P :  指定端口 如果修改了ssh的端口需要加上这个参数,默认端口22
// 传输文件夹的所有文件
scp -P 22 -qr /software/* [email protected]:/
// 传输单个文件
scp -P 22 -q /software/test.sh [email protected]:/

  输入远程linux主机的用户密码后按回车键

  拉取文件  

  scp 远程用户名@远程linux主机地址:资源路径  linux本地文件路径

scp -P 22 -q  [email protected]:/test.sh /

  输入远程linux主机的用户密码后按回车键

  总结

  无需配置,后期操作需要命令操作,或者用编写sh脚本来简化这一操作。

结语

  以上就是Linux服务器之间实现文件传输的两种方式,其中各有优劣,但都相对容易上手,日常系统运维中都能用到。

  

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;