基于Linux的文件同步工具

一.不同电脑之间的几种文件传输工具:scp nfs tfp http Samba

1.scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 

scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>

scp /home/work/source.txt work@192.168.0.10:/home/work/  #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下

   

scp work@192.168.0.10:/home/work/source.txt /home/work/  #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下

   

scp work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/  #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下

  

scp -r /home/work/sourcedir work@192.168.0.10:/home/work/  #拷贝文件夹,加-r参数

scp -r /home/work/sourcedir work@www.myhost.com:/home/work/  #使用主机名

2.NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制,NFS是一个文件系统,而RPC是负责负责信息的传输。

1-安装Ubuntu nfs服务器端:

sudo apt-get install nfs-kernel-server

安装nfs的客户端:

sudo apt-get install nfs-common​

(在安装nsf-kernel-server的时候,也会安装nfs-commom。如果没有安装这个软件包,则要执行1.2中的命令了)
2-设置共享的文件目录

sudo mkdir /***/***

 

dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.

3、配置nfs

# vi /etc/exports

/data/disk1/ *(async,insecure,no_root_squash,no_subtree_check,rw)

/data/disk1:与nfs服务客户端共享的目录,这个路径必须和你前面设置的文件的路径一致!

*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
async:资料同步写入内存和硬盘
no_root_squash:root用户具有对根目录的完全管理访问权限。
no_subtree_check:不检查父目录的权限。

4、重启rpcbind 服务

nfs是一个RPC程序,使用它前,需要映射好端口,通过rpcbind 设定。

# /etc/init.d/rpcbind restart

或者# service portmap status 或者systemctl status portmap

检查状态systemctl status portmap

5、重启nfs服务

# /etc/init.d/nfs-kernel-server restart

或者# service nfs-kernel-server start

6、挂载指令

# mount -t nfs 192.168.0.128:/data/disk1 /nfsdir

 

3. HTTP :Apache http server超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。

 

安装指令:sudo apt-get install apache2

产生的启动和停止文件是:/etc/init.d/apache2

启动:sudo apache2 start

停止:sudo apache2 stop

重新启动:sudo apache2 restart

 

4.FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议"。用于Internet上的控制文件的双向传输。

在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;

sudo apt-get install vsftpd

 

5. Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

启动Samba服务器只需执行如下命令:

#sudo /etc/init.d/samba start

关闭Samba服务器:

#sudo /etc/init.d/samba stop

启动Samba服务器只需执行如下命令:
#sudo /etc/init.d/samba start

重新启动Samba服务器:
#sudo /etc/init.d/samba restart

配置Samba

(1)在Windows系统中不用输入密码访问Linux共享目录
在Linux共享一个目录,将建立好的目录的设置信息写入/etc/smb.conf文件即可。如:若共享/home/lsh/share目录,要在 Windows系统中访问这个共享的目录,假设Windows主机的IP为192.168.0.11,Linux主机的IP为192.168.10,进行 如下操作:
#mkdir /home/myth/share
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak       //修改配置文件之前最好做个备份
#vim /etc/samba/smb.conf   
或者使用 sudo gedit /etc/samba/smb.conf 打开配置文件
将文件中的内容做如下相应修改:
#security=user 后面添加:
security=share
在文件结尾添加如下行:
[share]
comment=this is Linux share directory
path=/home/lsh/share
public=yes
writable=yes

保存退出,启动Samba服务:
#/etc/init.d/samba start

(2)

在Ubuntu下面可以connect to server

输入: smb://192.168.0.133 就可以进入到共享目录了

在Windows 下访问共享目录,可点击运行,输入
\\192.168.0.10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值