通过 curlftps 将外部磁盘挂载为服务

通过 curlftps 将外部磁盘挂载为服务

如果我有一个通过 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运行的选项curlftpsExecStartExecStop需要命令的完整路径,即注意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

相关内容