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をデーモンとして実行するオプションに注意してくださいcurlftpsExecStartおよびExecStopにはコマンドのフルパスが必要です。つまり、curlftpsおよびのフルパスを書き留めてくださいfusermount。 状況が異なる場合は、 でフルパスを見つけてくださいsudo find / -name curlftps -type f

さあ、サービスを開始するだけです

sudo service external-ftp start

すべてが正常であれば、アクセスでき/mnt/ftp-drive、コマンドはsudo service external-ftp statusOK を返すはずです。

すべてが正常であれば、起動時に開始するサービスを有効にします。

sudo systemctl enable external-ftp

関連情報