
Se eu tiver uma unidade externa que acesso via FTPS, como posso adicionar um serviço systemctl para montá-la e desmontá-la e montá-la na inicialização? Já vi alguns exemplos com scripts e crontab mas achei muito incoerentes e difíceis de lidar.
Responder1
Crie o diretório onde você deseja montar a unidade
mkdir /mnt/ftp-drive
Crie agora o arquivo /etc/systemd/system/external-ftp.service
com este conteúdo (seu systemd/system
diretório pode estar em um local diferente):
[Unit]
Description=Mount FTP Space
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/curlftpfs -o ssl,no_verify_peer,nonempty,user=<user>:<pass> <host> /mnt/ftp-drive/ -f -v
ExecStop=/bin/fusermount -u /mnt/ftp-drive
[Install]
WantedBy=multi-user.target
Observe a -f
opção de curlftps
executar como daemon. ExecStart
e ExecStop
precisa do caminho completo dos comandos, ou seja, anote o caminho completo de curlftps
e fusermount
. No seu caso pode ser diferente, encontre o caminho completo com sudo find / -name curlftps -type f
.
Agora é só iniciar o serviço
sudo service external-ftp start
se tudo estiver OK, você deverá conseguir acessar /mnt/ftp-drive
e o comando sudo service external-ftp status
deverá retornar OK.
Se tudo estiver OK, ative o serviço para iniciar na inicialização:
sudo systemctl enable external-ftp