Если у меня есть внешний диск, к которому я обращаюсь через FTPS, как я могу добавить службу systemctl для его монтирования и размонтирования, а также для монтирования при запуске? Я уже видел несколько примеров со скриптами и crontab, но я нашел их слишком бессвязными и сложными.
Создайте каталог, в котором вы бы хотите смонтировать диск
mkdir /mnt/ftp-drive
Теперь создайте файл /etc/systemd/system/external-ftp.service
с этим содержимым (ваш каталог systemd / system
может находиться в другом location):
[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
Обратите внимание на параметр -f
, чтобы curlftps
запускался как демон. ExecStart
и ExecStop
требуется полный путь команд, то есть обратите внимание на полный путь к curlftps
и fusermount
. В вашем случае может быть иначе, найдите полный путь с помощью sudo find / -name curlftps -type f
.
Теперь вы просто запускаете службу
sudo service external-ftp start
, если все в порядке, у вас должен быть доступ к / mnt / ftp-drive
и команде sudo service external-ftp status
должен вернуть ОК.
Если все в порядке, активируйте службу для запуска при загрузке:
sudo systemctl enable external-ftp