Eu tenho um serviço baseado em inotify que faz backup do diretório git da minha LAN para o Dropbox. Eu tentei manter o diretório git no Dropbox, mas tenho vários clientes git muitas vezes recebendo arquivos de erro lá.
Neste estágio inicial de desenvolvimento, este é um serviço de sistema bastante ocupado e conversador que deseja fazer login em uma unidade de memória RAM. Não quero usar /tmp
porque outros aplicativos dependem de ter espaço lá.
Para criar a unidade ram no meu fstab, tenho isso:
tmpfs /mnt/ram tmpfs nodev,nosuid,noexec,nodiratime,size=1024M 0 0
Preciso ter certeza de que a unidade de RAM está montada antes do início do serviço de backup. Eu quero colocar uma condição para o serviço que atrasa seu início.
Vejo sugestões de que as pessoas usem o *.mnt
serviço como pré-condição, mas não vejo nenhum arquivo /lib/systemd/system
que me dê o nome do serviço de que preciso.
Como posso identificar esta montagem? Existe outra abordagem?
Tanto quanto eu entendo sua situação, você escreveu um arquivo de serviço systemd para carregar seu serviço de backup feito por você mesmo. Agora você deseja garantir que a montagem da unidade ram (definida por uma entrada em /etc/fstab) esteja disponível antes do início do serviço de backup.
Eu não fiz isso sozinho, apenas procurei em uma página de manual. Então isso pode ou não funcionar.
Segundo
man systemd.unit
, em "[UNIT] SECTION OPTIONS", há um switch que parece promissor:Para fins de teste, você pode adicionar
noauto
ao seu arquivofstab
. Se isso funcionar, sua unidade ram deve ser montada automaticamente após a reinicialização - se estiver configurada como dependência do seu serviço de backup.No Arch, pelo menos, as montagens do systemd geradas
/etc/fstab
são implantadas para/run/systemd/generator
Por exemplo, no meu sistema, com a listagem abaixo, posso adicionar ao meu arquivo de serviço
ls -la /run/systemd/generator