systemd - umount device after service que depende dele terminar

4

"Estou "tentando "implementar "um "mecanismo "de "backup "automatizado "usando "regras "do "udev "e "systemd. "A "idéia "é "iniciar "uma "rotina "de "backup "ao "conectar "um "dispositivo "de "armazenamento "específico, "semelhante "a " "essa "pergunta ", "para "a "qual "eu "mesmo "forneci "uma "resposta, "mas "aqui "estou "interessado "em "discutir "alguns "ajustes "adicionais. "Ou "seja, "eu "quero "que "o "dispositivo "seja "enviado "após "o "término "do "serviço "de "backup. "

" "Alguns "antecedentes: " "

"Até "agora "consegui "que "funcionasse "usando "o "udev "para "iniciar "um "serviço "systemd "que, "por "sua "vez, "executa "uma "rotina "de "backup. "Os "arquivos "relevantes "seguem: "

" "backup.service " "

"
[Unit]
Description=<DESCRIPTION "HERE>
BindsTo=<STORAGE "DEVICE "UNIT "HERE>.device "mnt-backup.mount
After=<STORAGE "DEVICE "UNIT "HERE>.device "mnt-backup.mount

[Service]
ExecStart=<CALL "TO "BACKUP "SCRIPT "HERE>
"

" "mnt-backup.mount " "

"
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target

[Mount]
What=/dev/disk/by-uuid/<DEVICE "UUID "HERE> "
Where=/mnt/backup
Type=<FILESYSTEM "HERE>
"

" "90-backup.rules " "

"
KERNEL=="sd*", "ATTRS{serial}=="<HD "SERIAL "HERE>", "TAG+="systemd", "ENV{SYSTEMD_WANTS}+="backup.service" "
"

" "A "pergunta: " "

"Agora, "quero "que "o "mnt-backup.mount "seja "interrompido "assim "que "o "backup.service "for "concluído. "

"De "acordo "com "a "documentação " "ExecStartPost "= " "será "executado "após "o "comando "em "ExecStart "=, "então "tentei "adicionar "

"
ExecStartPost=/usr/bin/systemctl "stop "mnt-backup.mount
"

"para "backup.service, "mesmo "sabendo "que "ele "pára "o "mnt-backup.mount, " "para "o "qual "ele "próprio "está "ligado ", "o "que, "tanto "quanto "eu "entendo, "efetivamente "requer "backup.service "para "ser "interrompido "antes "de "mnt-backup.mount "para "uma "parada "graciosa, "criando "assim "uma "dependência "cíclica. "

"Ao "testar "isso, "funcionou "algumas "vezes "antes "que "eu "experimentasse "um "pânico "no "kernel, "o "primeiro "que "vi "na "minha "máquina, "então "me "fez "pensar "se "isso "era "de "alguma "forma "a "causa. "

"De "qualquer "forma, " "a "minha "abordagem "está "correta? " "

    
por brunocodutra 08.09.2013 / 22:57