Как заставить мой скрипт запускаться ДО любой последовательности выключения, например, размонтирования моего внешнего диска

У меня есть сценарий резервного копирования в ~/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 не работает.

Спасибо.

3
задан 14 April 2017 в 01:23

1 ответ

Кредит к этому отправленный ответ

Первый, я не знаю, почему выскочка работает вообще, так как Ubuntu 15.10 должна использовать systemd вместо этого. Таким образом, я использовал systemd для решения моей проблемы.

я создаю systemd "единицу", названную backup.service

[Unit]
Description=Backup script
DefaultDependencies=no
RequiresMountsFor=/mnt/D21EF5DA1EF5B795 /home /media/external
Before=shutdown.target reboot.target halt.target


[Service]
ExecStart=/bin/bash /home/deanresin/scripts/backup.sh start
Type=oneshot

[Install]
WantedBy=multi-user.target

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" нужно назвать при перезапуске, завершении работы или останове и выполнить, прежде чем указанные диски размонтированы.

3
ответ дан 14 April 2017 в 01:23

Другие вопросы по тегам:

Похожие вопросы: