我有一个备份脚本~/scripts/backup.sh
,我的新贵 conf 在~/.config/upstart/shutdown.conf
.
description "my shutdown script"
start on desktop-end
task
console log
script
exec ~/scripts/backup.sh start
end script
我的脚本备份到外部硬盘驱动器on desktop-end
,但在调用我的脚本之前外部硬盘驱动器被卸载。
如何在我的脚本之前关闭序列,然后仅在我的脚本完成后恢复?
我尝试了这篇文章的解决方案,但钩子on starting rc
不起作用。
谢谢。
归功于此发布的答案
首先,我不知道为什么 upstart 会起作用,因为 Ubuntu 15.10 应该使用 systemd 来代替。所以我使用systemd来解决我的问题。
我创建了一个名为 backup.service 的 systemd“单元”
RequiresMountsFor
确保这些硬盘驱动器在脚本之前和期间保持挂载。Before=shutdown.target reboot.target halt.target
是调用备份脚本的钩子。将 backup.service 文件放入 /etc/systemd/system 并
sudo chmod u+x /etc/systemd/system/backup.service
使其可执行。现在启用 backup.service 通过
systemctl enable backup.service
瞧!备份脚本“backup.sh”应在重新启动、关闭或停止时调用,并在卸载指定驱动器之前执行。