
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
をデーモンとして実行するオプションに注意してくださいcurlftps
。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