自动挂载USB静态点上的密钥?

我想创build一个脚本来备份临时数据。 他们必须插入一个USB密钥,只需点击一个脚本来备份数据。

不幸的是,在Centos 6.6自动挂载中,每次都要更改挂载点,具体取决于usb key / media / workkey / media / mykey / media / minikey的名称….

我如何设置自动安装的静态点?

1.使USB设备基本名称永久(例如:Iomega USB设备)

为了避免混淆您的USB块设备的基本名称是/ dev / sdb1,/ dev / sdd1还是/ dev / sdXn,我们会在您插入时将其永久保存为/ dev / Iomega。可以使用udev设备经理。 你应该已经在你的系统上安装了udev,否则安装它:

apt-get install udev

接下来,使用fdisk命令search外部USB磁盘的当前基本名称:

fdisk -l

这将返回像这样的东西:

输出:磁盘/ dev / sdc:2000.3 GB,2000396746752字节255个磁头,63个扇区/磁道,243201个柱面单位= 16065×512 = 8225280字节的磁道磁盘标识符:0x001425a0

设备引导启动结束块Id系统/ dev / sdc1 1 243201 1953512001 b W95 FAT32

其中,外部USB设备的基本名称是/ dev / sdc。 接下来,使用带有/ dev / sdc的udevinfo命令作为参数来获取模型属性:$ udevinfo -a -p / sys / block / sdc / grep模型ATTRS {model} ==“Ext HDD 1021”

现在,我们有模型属性,我们可以通过以下行将其添加到/etc/udev/rules.d/custom.rules:SUBSYSTEM ==“scsi”,ATTRS {model} ==“Ext HDD 1021”,SYMLINK + = “艾美加%N”

在这一点上,我们所需要做的是重新启动udev设备pipe理器:

/etc/init.d/udev重新启动

停止hotplug事件调度程序:udevd。 启动hotplug事件调度程序:udevd。

插入外部USB,你的新基地名是:ls -l / dev / Iomega * lrwxrwxrwx 1 root root 3 2011-02-23 12:36 / dev / Iomega – > sdc lrwxrwxrwx 1 root root 12 2011-02-23 12 :36 / dev / Iomega0 – > bsg / 14:0:0:0 lrwxrwxrwx 1 root root 4 2011-02-23 12:36 / dev / Iomega1 – > sdc1 lrwxrwxrwx 1 root root 3 2011-02-23 12:36 / dev / Iomega3 – > sg3

请注意/ dev / Iomega1指向一个/ dev / sdc1,这正是我们感兴趣的分区,我们使用它旁边configurationautofs。 2.设置autofs

首先我们需要安装autofs:

apt-get install autofs

configurationautofs是相当简单的任务。 我们所要做的就是编辑两个简单的文件。

让我们从主文件开始追加一行:/ media / /etc/auto.ext-usb –timeout = 10,默认,user,exec,uid = 1000

接下来,编辑我们包含在主configuration文件configuration中的/etc/auto.ext-usb文件:Iomega -fstype = auto:/ dev / Iomega1

重新启动autofs:

/etc/init.d/autofs restart 3.testingautofsconfiguration

我们完了! 每当您现在插入外部Iomega USB驱动器时,aufosf会将您的设备添加到活动挂载点的列表中。 现在插入你的外部USB驱动器并执行:/etc/init.d/autofs status

OUTPUT:

configuration的挂载点:

/ usr / sbin / automount –timeout = 10 / media文件/etc/auto.ext-usb,默认值,user,exec,uid = 1000

活动挂载点数:

/ usr / sbin / automount –pid-file = / var / run / autofs / _media.pid –timeout = 10 \ / media file /etc/auto.ext-usb,defaults,user,exec,uid = 1000

安装

OUTPUT:automount(pid7124)on / media type autofs(rw,fd = 4,pgrp = 7124,minproto = 2,maxproto = 4)

请注意,虽然我们的驱动器现在被列为活动挂载点,但磁盘尚未安装! autofs只会等待用户访问指定的挂载点目录,一旦发生,它将挂载文件系统。

例如:$ cd / media / $ ls $ cd Iomega $ ls lost.dir音乐图片ps3videomystuff $ cd .. $ ls Iomega

从上面的输出中,您可以看到Iomega目录仅在我试图访问它时才创build。 每当您插入USB外置磁盘时,您都可以通过某种桌面或书签快捷方式立即访问它。 我希望这有助于创build和运行脚本,因为每次插入时,USB的名称都将保持不变。

您可以在这里使用部分处理添加udev规则的答案: https : //unix.stackexchange.com/questions/74123/what-is-the-service-thats-responsible-for-automounting-a-usb-drive -in-的centos -6-

  • 将文件添加到/etc/udev/rules.d
  • 根据答案添加行,但将标签参数添加到pmount命令,例如:

automount.rules

# automounting usb flash drives # umask is used to allow every user to write on the stick # we use --sync in order to enable physical removing of mounted memory sticks -- this is OK for fat-based sticks # I don't automount sda since in my system this is the internal hard drive # depending on your hardware config, usb sticks might be other devices than sdb* ACTION=="add",KERNEL=="sdb*", RUN+="/usr/bin/pmount --sync --umask 000 %k usbstick" ACTION=="remove", KERNEL=="sdb*", RUN+="/usr/bin/pumount %k" ACTION=="add",KERNEL=="sdc*", RUN+="/usr/bin/pmount --sync --umask 000 %k usbstick" ACTION=="remove", KERNEL=="sdc*", RUN+="/usr/bin/pumount %k" 
  • 重新载入udev规则: sudo udevadm control --reload-rules

这将确保棒每次都安装在同一个地方。 编写udev规则来检测USB记忆棒可能更优雅。

请注意,您也可以让udev在安装后自动启动备份脚本。