用于从 Synology nas 上的任务计划程序弹出 USB 磁盘的脚本?

用于从 Synology nas 上的任务计划程序弹出 USB 磁盘的脚本?

我希望能够从任务计划程序中弹出某个磁盘。我可以使用lsusb-ciu命令。例如,如果我想弹出磁盘5-1.2,我该如何做呢?

我尝试过一些支持页面上的脚本,但都没有用。也许你做错了什么。这对我来说不起作用,驱动器仍然可以运行。

echo "5-1.2" > /sys/bus/usb/drivers/usb/unbind

设备已弹出,但 nas 显示警告:设备尚未安全弹出。

我也尝试了以下脚本。它也能拔下它,但无法安全弹出外部硬盘的警告再次出现。

USBDEVICE="5-1.2"
echo 0 > /sys/bus/usb/devices/$USBDEVICE/authorized

这是怎么回事?

答案1

您列出的命令只是切断了 USB 与磁盘的连接,相当于拔掉了插头。但是,当您插入它时,Linux(Synology NAS 软件的底层操作系统)已经安装文件系统,以便软件可以访问这些文件。此操作必须撤消,这个过程称为卸载,然后再切断 USB 连接,否则文件系统可能会处于不一致的状态。当您在 GUI 中单击“安全删除”时,就会发生这种情况。

为了从脚本中执行此操作,您首先必须找到与 USB 磁盘上的文件系统分区关联的块设备的名称。例如,这在命令输出的“文件系统”列中列出df。典型的名称是/dev/sde1第五个物理磁盘的第一个或唯一分区。然后,您将该名称传递给umount命令(注意:初始“u”后没有“n”),如下所示:

umount /dev/sde1

请注意,磁盘可能包含多个文件系统分区。在这种情况下,您必须卸载全部在通过物理或编程方式切断 USB 连接之前,请先检查它们。

相关内容