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