
Wenn ich ein externes Laufwerk habe, auf das ich über FTPS zugreife, wie kann ich dann einen systemctl-Dienst hinzufügen, um es zu mounten und zu demontieren und es beim Start mounten zu lassen? Ich habe bereits einige Beispiele mit Skripten und Crontab gesehen, fand sie aber zu inkohärent und schwer zu handhaben.
Antwort1
Erstellen Sie das Verzeichnis, in dem Sie das Laufwerk mounten möchten
mkdir /mnt/ftp-drive
Erstellen Sie nun die Datei /etc/systemd/system/external-ftp.service
mit diesem Inhalt (Ihr systemd/system
Verzeichnis kann sich an einem anderen Ort befinden):
[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
Beachten Sie die -f
Option zur Ausführung curlftps
als Daemon. ExecStart
und ExecStop
benötigen Sie den vollständigen Pfad der Befehle, das heißt, notieren Sie sich den vollständigen Pfad von curlftps
und fusermount
. In Ihrem Fall kann das anders sein, finden Sie den vollständigen Pfad mit sudo find / -name curlftps -type f
.
Nun starten Sie einfach den Dienst
sudo service external-ftp start
Wenn alles in Ordnung ist, sollten Sie darauf zugreifen können /mnt/ftp-drive
und der Befehl sudo service external-ftp status
sollte „OK“ zurückgeben.
Wenn alles in Ordnung ist, aktivieren Sie den Dienst, damit er beim Booten gestartet wird:
sudo systemctl enable external-ftp