简介
前几天突然需要用从一台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服务器之间实现文件传输的两种方式,其中各有优劣,但都相对容易上手,日常系统运维中都能用到。