我有一个脚本,每晚将文件备份到外部驱动器。问题是 Nautilus 会自动安装外部驱动器,而脚本运行时无法安装外部驱动器。
脚本创建的挂载点/mnt/mirror
和 Nautilus 创建的挂载点是/mnt/mirror_
如何检测外部驱动器是否已安装?
答案1
Nautilus 将其安装到/mnt/mirror_
因为/mnt/mirror
似乎已经在使用中。
- 您可以编辑并添加一行,以便每次都
/etc/fstab
挂载外部磁盘。 如果您使用其他文件系统,请更改 vfat。 您可以使用命令找到您的 UUID 和文件系统类型。 插入后,单击 nautilus 中的条目或使用命令挂载。/mnt/mirror
UUID="12345-67890" /mnt/mirror vfat defaults,auto,users,rw 0 0
sudo blkid
mount /mnt/mirror
- 否则,请执行以下操作:
使用mount
返回系统当前安装的命令。
显示所有当前安装:
mount
过滤掉包含单词“mirror”的安装:
mount | grep "mirror"
要在脚本中使用它,您可以执行以下操作:
mounted=$(mount | grep "mirror")
[ ! "$mounted" = "" ] && { echo -e "mirror mounts:\n$mounted"; }
如果未找到包含“mirror”的安装,则不会有输出。
笔记:
- 如果你使用文件类型,你也可以同时将磁盘挂载到多个挂载点除了 ntfs。您可以将其安装到 ,
/mnt/mirror
无论/mnt/mirror_
。
使用 ntfs 时,请确保先使用 卸载分区sudo umount /mnt/mirror_
。 - 将“mirror”替换为您了解的有关该设备的其他内容,例如“sdb”。
- 检查您的任何分区最后插入的可移动磁盘已安装:
last_dev=$(dmesg | grep "removable" | sed -e 's/.*\[//g' -e 's/\].*//' | tail -n1)
mounted=$(mount | grep $last_dev)
echo -e "last removable disk mounts\n:$mounted"