Primeiramente, parece que, para mount.s3ql
e umount.s3ql
, uma unidade .mount
genérica pode ser apropriada. Tanto o comando mount
quanto o systemd suportam mount.fstype
auxiliares durante a montagem. No entanto, o auxiliar deve suportar o método padrão -o options
de opções de passagem, o que s3ql não oferece. Além disso, aplicam-se as mesmas limitações como em / etc / fstab .
Assim, você pode realmente ser melhor com uma unidade .service
que chama os comandos desejados:
[Unit] [email protected] [email protected] [Service] Type=forking Environment=AUTHFILE=/path/to/authinfo2 ExecStart=/usr/sbin/mount.s3ql --authfile ${AUTHFILE} ${BUCKET} ${MOUNTPOINT} ExecStop=/usr/sbin/umount.s3ql ${MOUNTPOINT} TimeoutSec=5min
Como não existe uma maneira padrão de configurar redes, muito menos uma que realmente verifica se a conexão está realmente funcionando, não existe um alvo systemd padrão para o que você deseja. Há network.target
, mas pode considerar-se iniciado quando a conexão ainda não está disponível.
Se você estiver usando o NetworkManager, sua distribuição pode ter incluído uma unidade que executa nm-online
- por exemplo, o Arch chama NetworkManager-wait-online.service
.
[Unit] Require=NetworkManager-wait-online.service After=NetworkManager-wait-online.service