Ubuntu Server 16 在插入时将 USB 驱动器挂载到特定位置

Ubuntu Server 16 在插入时将 USB 驱动器挂载到特定位置

tl;dr,如何让没有桌面 GUI 的 Ubuntu Server 16 在插入时自动将具有已知驱动器标签和 UUID 的 USB 驱动器安装到明确定义的文件夹中?

我正在制作一个备份服务器,生产数据库服务器将备份到 /data/backup/OffsiteBackup 的备份服务器。每日备份完成后,我想将 /data/backup/OffsiteBackup/ 的内容复制到安装在

/data/backup/OffsiteMon[A|B], 
/data/backup/OffsiteTue[A|B], 
/data/backup/OffsiteWed[A|B], 
/data/backup/OffsiteThu[A|B], 
/data/backup/OffsiteFri[A|B], 

其中“A”和“B”对应我们的两周保留期。

该服务器将是一个无头单元,仅可通过 SSH 访问。我希望尽量减少用户交互,包括在周五、周六或周日安装 USB 驱动器,以便进行下一周的异地备份。在 Lubuntu 中,如果您插入 USB 驱动器,它会自动安装在 /media/$USER/$DRIVENAME(如果 $DRIVENAME 不存在,则安装在 /media/$USER/$UUID)。驱动器弹出后,文件夹将被删除。我不需要这样做,因为我已经创建了所有十个文件夹。将异地备份复制到 USB 驱动器的脚本还将卸载闪存驱动器,这样就没有人需要使用umount该驱动器了。

如何让 Ubuntu Server 在插入 USB 驱动器时自动将其安装到特定文件夹?是否有“首选项”或字典文件,我可以在其中指定将 UUID=ABCD-1234 的驱动器安装在 /data/backup/OffsiteMonA?我宁愿避免在 /etc/fstab 中进行十次单独的输入。

答案1

很不幸的是,不行。

事实上,这正是/etc/fstab存在的原因:为了方便创建特定且可预测的挂载点。但请注意,/etc/fstab(显然)不需要只挂载不存在的文件夹。如果已经/data/backup/OffsiteMonA存在,系统将不会遇到挂载任何内容的问题别的但预挂载文件夹中的所有数据都将暂时丢失。

虽然您可以使用以 root 身份运行的脚本将特定驱动器 ID(/dev/sdd1)挂载到特定位置,但由于系统的运行方式以及无法保证将某些东西挂载到特定位置的事实,这通常是不明智的。

因此,您应该使用/etc/fstab指定所有这些挂载点,然后让您的脚本检查那里是否确实有一个已安装的驱动器。如果是,则运行备份。否则,向某人抛出一个大错误。

此外,通过使用/etc/fstab,您还可以控制安装和卸载。当您 时umount /data/backup/OffsiteMonA,它将卸载该特定驱动器,您可以随时通过运行 重新安装该驱动器mount /data/backup/OffsiteMonA

相关内容