首页 > 代码库 > Mount实现Linux和Windows文件互相同步

Mount实现Linux和Windows文件互相同步

Mount实现Linux和Windows文件互相同步

我们前几篇文章介绍了使用SCP、Rsync、Curl等服务实现Linux到windows文件的互相拷贝,而我们今天介绍一个更简单的方法,就是通过mount命令挂载共享目录来实现Linux到windows的文件互传,具体见下:

我们使用的环境为Centos6.4+windows server2012;

因为linux需要挂载windows的共享目录,所以我们首先在windows上也创建一个共享目录

新建 linxushare

技术分享

然后对于该共享目录我们设置单独的用户及密码进行数据拷贝,这样主要为了安全;创建一个账户mountaccount

技术分享

然后设置将windows上创建的共享目录共享,然后添加新建的指定用户读写权限

技术分享

技术分享

然后在linux上创建一个挂载目录

mkdir windowsshare

技术分享

然后安装网络共享服务,如果不安装的话,无法使用mount挂载

yum install -y cifs-utils

因为我们已经安装了,所以就提示已经安装了;

技术分享

开始挂载windows共享目录;如果不提示错误的话就是说明挂载成功了;或者可以使用mount命令查看挂载的详细情况

我们将windows上的linuxshare共享目录挂载到了linux服务器的/OAFS目录下的windowsshare目录上

mount -t cifs -o username=mountaccount,password="123" //192.168.6.188/linuxshare /OAFS/windowsshare

mountaccount是windows上创建的共享文件夹的指定用户

123是mountaccount的账户密码

windowsshare是linux上的挂载点

linuxshare是windows上的共享目录

技术分享

接下来我们在windows的共享目录下创建一个文件,查看是否可以看见,创建一个1.txt文件

技术分享

在linux下的挂载目录下查看是否会显示文件;成功显示

技术分享

现在我们虽然挂载了,然后也可以看见文件,但是如果系统重启的话目录挂载也会失效,所以我们还需要将挂载目录配置到自动启动挂载;

如果不配置自动挂载系统重启后,我们进入目录后为空,然后mount命令查看不会有挂载的目录结构信息

技术分享

vim /etc/fstab

添加以下参数

//192.168.6.188/linuxshare /OAFS/windowsshare cifs defaults,username=mountaccount,password=123 0 2

技术分享

系统重启后,我们可以通过进入目录或者通过mount命令来查看

mount

技术分享

以上的问题解决了,我们也就可以使用对应的脚本来完成数据的备份及传输了

使用 cp命令来完成windows、linux之间的文件互传了;

最后我们说一下fstab里面的格式介绍

一个简单的 /etc/fstab,使用内核名称标识磁盘:

/etc/fstab

# <file system>        <dir>         <type>    <options>             <dump> <pass>
tmpfs                  /tmp          tmpfs     nodev,nosuid          0      0
/dev/sda1              /             ext4      defaults,noatime      0      1
/dev/sda2              none          swap      defaults              0      0
/dev/sda3              /home         ext4      defaults,noatime      0      2

字段定义

/etc/fstab 文件包含了如下字段,通过空格或 Tab 分隔:

<file system>        <dir>        <type>        <options>        <dump>        <pass>

  • <file systems> - 要挂载的分区或存储设备.

  • <dir> -     <file systems>的挂载位置。

  • <type> - 要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap  auto 设置成auto类型,mount     命令会猜测使用的文件系统类型,对     CDROM DVD 等移动设备是非常有用的。

  • <options> - 挂载时使用的参数,注意有些mount 参数是特定文件系统才有的。一些比较常用的参数有:

    • auto - 在启动时或键入了 mount -a 命令时自动挂载。

    • noauto - 只在你的命令下被挂载。

    • exec - 允许执行此分区的二进制文件。

    • noexec - 不允许执行此文件系统上的二进制文件。

    • ro - 以只读模式挂载文件系统。

    • rw - 以读写模式挂载文件系统。

    • user - 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。

    • users - 允许所有 users 组中的用户挂载文件系统.

    • nouser - 只能被 root 挂载。

    • owner - 允许设备所有者挂载.

    • sync -      I/O 同步进行。

    • async -      I/O 异步进行。

    • dev - 解析文件系统上的块特殊设备。

    • nodev - 不解析文件系统上的块特殊设备。

    • suid - 允许 suid 操作和设定      sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。

    • nosuid - 禁止 suid 操作和设定      sgid 位。

    • noatime - 不更新文件系统上 inode 访问记录,可以提升性能(参见 atime 参数)

    • nodiratime - 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)

    • relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与      noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能(参见 atime 参数)

    • flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。

    • defaults - 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async.

  • <dump> dump     工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 1 0 表示忽略, 1 则进行备份。大部分的用户是没有安装     dump 的 ,对他们而言 <dump> 应设为 0

  • <pass> fsck     读取 <pass> 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 2。 根目录应当获得最高的优先权 1,     其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。

本文出自 “高文龙” 博客,谢绝转载!

Mount实现Linux和Windows文件互相同步