如何在脚本中唤醒未安装的外部驱动器?

如何在脚本中唤醒未安装的外部驱动器?

我有一个硬盘驱动器,位于一个外部机箱中,通过 USB 2 电缆连接到 14.04 服务器安装。Bash 脚本进程会定期检查是否使用 连接了正确的驱动器lsblk,收集一系列文件并将其复制到驱动器。
在执行此过程之前,驱动器通常已连接并通电几天。

偶尔驱动器似乎没有连接,似乎它已进入某种睡眠模式,响应速度非常慢。lsblk没有返回任何驱动器的详细信息,并且我的脚本响应好像没有连接驱动器。

我也在脚本之外观察到了这一点,有时我会使用fdisk -l两种结果来检查可用的驱动器:

  1. 该命令将比正常情况下花费更长的时间才能返回外部驱动器的详细信息。在这种情况下,立即再次执行该命令将以正常速度返回所有结果。
  2. 该命令运行缓慢,外部驱动器根本不会列在输出中。如果我再次运行该命令,驱动器会正常出现在输出中。似乎第一次响应不够快。

是否有一个命令可以在 Bash 脚本中可靠地使用,以确保外部驱动器处于“唤醒”状态并准备好响应?

我想我可以使用fdisk -l并重定向到,/dev/null但我怀疑有一个更合适的命令。

如果它有任何用处的话它就是 Evo Labs E-U3F SATA 外壳中的 Seagate 台式机硬盘 ST1000DM003。

相关内容