
Estou executando um Debian 10. Gostaria de mapear uma unidade FTP na inicialização. Eu tenho o arquivo .sh que funciona sozinho, mas ao usar o ftpconnect.service que criei. Com a ajuda das postagens deste site, ele não pensa e aparece como inativo (morto)
Se eu executar um comando, a unidade FTP será mapeada e posso usá-la.
/mnt/ftpconnect.sh start
Mas eu gostaria que iniciasse quando o sistema iniciasse. Ao verificar o caminho para onde a unidade deve ser mapeada, ela não está conectada.
Tentei ativar networ-online.target, Types=simple, User=Root, WorkingDirectory. e restart=on-failure eu os reativei
Este arquivo abaixo é chamado 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
O arquivo .sh é chamado ftpconnect.sh e está localizado em /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
Alguém poderia me ajudar a ver o que estou fazendo de errado. Pelo que tenho lido, tudo parece ok. Mas claramente estou pensando errado.
Responder1
Obrigado a Michael Hampton. Foi isso que funcionou para mim e a unidade agora é montada automaticamente
Como eu fiz isso.
mkdir /mnt/backupdrive
nano /etc/fstab
Adicionado
curlftpfs#ftp://USERNAME:[email protected]/ /mnt/backupdrive fuse _netdev 0 0
Salvei e reiniciei a unidade FTP montada em backupdrive após a reinicialização.
Descobri que se o item abaixo não fosse adicionado, o sistema falharia devido à rede. Presumo que ele estava tentando executar antes de a rede ser conectada.
_netdev