自动修复由于挂载错误而导致的 systemd 单元挂载失败

自动修复由于挂载错误而导致的 systemd 单元挂载失败

相当长一段时间以来,我一直在与 Raspberry Pi 难以维持与外部 HDD 的连接的问题作斗争。有时它只是随机抛出 I/O 错误,当发生这种情况时,我的 rtorrent 服务单元会失败。现在我尝试了很多方法,这是我现在的解决方案:

[Unit]
Description=rTorrent
After=network.target

[Service]
User=root
Type=forking
KillMode=none
ExecStartPre=/home/pi/mount_media.sh
ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent
ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent
WorkingDirectory=/home/pi
Restart=on-failure

[Install]
WantedBy=default.target

其中 mount_media.sh 只是重新挂载目录。

我也尝试过但没有成功的东西:

  • OnFailure 启动重新安装目录的不同单元
  • 使用脚本启动设备,该脚本重新安装驱动器,然后启动 rtorrent

现在,这种方法给我留下了“ cannot access 'Media': Transport endpoint is not connected

忘记添加:/media/Media 是我的挂载点

那么我应该如何处理有争议的点随机断开连接呢?

相关内容