
Ich verwende Debian 10. Ich möchte beim Hochfahren ein FTP-Laufwerk zuordnen. Ich habe die .sh-Datei, die von selbst funktioniert, aber wenn ich den von mir erstellten ftpconnect.service verwende. Mit Hilfe dieser Site-Beiträge tut es nichts und wird als inaktiv (tot) angezeigt.
Wenn ich einen Befehl ausführe, wird das FTP-Laufwerk zugeordnet und ich kann es verwenden.
/mnt/ftpconnect.sh start
Ich möchte aber, dass es beim Systemstart gestartet wird. Beim Überprüfen des Pfads, zu dem das Laufwerk zugeordnet werden soll, ist es nicht verbunden.
Ich habe versucht, networ-online.target, Types=simple, User=Root, WorkingDirectory. und restart=on-failure zu aktivieren. Ich habe sie wieder deaktiviert.
Die folgende Datei heißt ftpconnect.service
[Unit]
Description=Maps FTP Bacup to /mnt folder
# After=network.target
# After=systemd-user-sessions.service
# After=network-online.target
[Service]
# User=root
# Type=simple
# PIDFile=/run/my-service.pid
# WorkingDirectory=/mnt/
ExecStart=/mnt/ftpconnect.sh start
#ExecReload=/mnt/ftpconnect.sh reload
#ExecStop=/mnt/ftpconnect.sh stop
# TimeoutSec=30
# Restart=on-failure
# RestartSec=30
# StartLimitInterval=350
# StartLimitBurst=10
[Install]
WantedBy=default.target
Die .sh-Datei heißt ftpconnect.sh und befindet sich unter /mnt/ftpconnect.sh
#! /bin/sh
### BEGIN INIT INFO
# Provides: ftpserver
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start ftpserver daemon at boot time
# Description: Enable ftpserver service provided by daemon.
### END INIT INFO
# Author: Justin Hartman <[email protected]>
# URL: http://justinhartman.co.za
# From Debian skeleton
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/curlftpfs
OPTIONS="-o allow_other ftp://USERNAME:PASSWORD@URL" <<I HAVE REMOVED THESE DETAILS FOR SECURITY>>
MOUNT=/mnt/backupdrive
UMOUNT=/bin/umount
NAME=backupdrive
DESC="Remote FTP Server Mount"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Mounting the $DESC: $NAME"
$DAEMON $OPTIONS $MOUNT
echo "Server has been mounted at $MOUNT"
;;
stop)
echo -n "Stopping $DESC: $NAME"
$UMOUNT $MOUNT
echo "Server has been unmounted"
;;
restart|force-reload)
echo -n "Re-mounting the $DESC: $NAME"
$UMOUNT $MOUNT
sleep 2
$DAEMON $OPTIONS $MOUNT
echo "The server has been re-mounted at $MOUNT"
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
Kann mir jemand helfen zu erkennen, was ich falsch mache? Soweit ich gelesen habe, sieht alles in Ordnung aus. Aber offensichtlich mache ich einige Dinge falsch.
Antwort1
Danke an Michael Hampton. Das hat bei mir funktioniert und das Laufwerk wird jetzt automatisch gemountet.
Wie ich es gemacht habe.
mkdir /mnt/backupdrive
nano /etc/fstab
Hinzugefügt
curlftpfs#ftp://USERNAME:[email protected]/ /mnt/backupdrive fuse _netdev 0 0
Das nach dem Neustart unter Backupdrive gemountete FTP-Laufwerk wurde gespeichert und neugestartet.
Ich habe festgestellt, dass das System aufgrund des Netzwerks ausfallen würde, wenn das Folgende nicht hinzugefügt würde. Ich nehme an, es hat versucht, zu laufen, bevor die Netzwerkverbindung hergestellt wurde.
_netdev