У меня есть сценарий резервного копирования в ~/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
не работает.
Спасибо.
Кредит к этому отправленный ответ
Первый, я не знаю, почему выскочка работает вообще, так как 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" нужно назвать при перезапуске, завершении работы или останове и выполнить, прежде чем указанные диски размонтированы.