我有一个外置 Seagate Backup plus 硬盘,在系统启动时会自动安装,但是系统关闭时硬盘不会自动关闭。我想知道如何让硬盘在系统关闭时自动关闭?
如果我使用 GUI 在磁盘应用程序中关闭驱动器,硬盘驱动器就会关闭,我可以在驱动器关闭的情况下关机。到目前为止,我已经创建了一个可以关闭驱动器的 shell 脚本:
#!/bin/sh
a=`lsblk -rno label,name | awk '$1=="Archive"{print $2}'`
sudo umount /media/spacemanngaf/Archive
udisksctl power-off --block-device /dev/${a%?}
当我在终端中执行此脚本时,驱动器按要求关闭电源。
然后,我尝试设置一个 systemd 服务来在系统关闭前运行该脚本:
[Unit]
Description=HDD backup-plus spin-down at shutdown service
DefaultDependencies=no
RequiresMountsFor=/media/spacemanngaf/Archive
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
RemainAfterExit=True
ExecStart=/bin/true
ExecStop=/home/spacemanngaf/.hdd_spindown
[Install]
WantedBy=multi-user.target
但是,当我关闭系统时,这不起作用。服务已启用。如何让服务运行,或者是否有更好的方法在系统关闭时关闭驱动器?
谢谢
答案1
将之前编写的脚本放入此目录 /lib/systemd/system-shutdown/
它在关机之前运行该目录中的所有内容。