J'ai un script de sauvegarde dans ~/scripts/backup.sh
et ma config récente dans ~/.config/upstart/shutdown.conf
.
description "my shutdown script"
start on desktop-end
task
console log
script
exec ~/scripts/backup.sh start
end script
Mon script est sauvegardé sur un disque dur externe on desktop-end
mais le disque dur externe est démonté avant que mon script ne soit appelé.
Comment puis-je faire précéder la séquence d'arrêt avec mon script et ne le reprendre que lorsque mon script est terminé ?
J'ai essayé la solution de this post mais le hook on starting rc
ne fonctionne pas.
Merci.
Crédit à ceci réponse affichée
Premièrement, je ne sais pas pourquoi upstart fonctionne du tout, car Ubuntu 15.10 devrait plutôt utiliser systemd. J'ai donc utilisé systemd pour résoudre mon problème.
Je crée une "unité" systemd appelée 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
s'assure que ces disques durs restent montés avant et pendant le script. Before=shutdown.target reboot.target halt.target
est le raccord qui appellera le script de sauvegarde.
Placez le fichier backup.service dans/etc/systemd/system et Sudo chmod u+x /etc/systemd/system/backup.service
pour le rendre exécutable.
Maintenant, activez le backup.service par systemctl enable backup.service
Et le tour est joué! Le script de sauvegarde "backup.sh" doit être appelé au redémarrage, à l'arrêt ou à l'arrêt et exécuté avant le démontage des lecteurs spécifiés.