36 lines
1 KiB
Desktop File
36 lines
1 KiB
Desktop File
[Unit]
|
|
Description=rclone: Remote FUSE filesystem for cloud storage config %i
|
|
Documentation=man:rclone(1)
|
|
|
|
[Service]
|
|
Type=notify
|
|
Environment="EXPRESSION=%i"
|
|
ExecStart= \
|
|
bash -c ' \
|
|
args=; \
|
|
target="$(echo "$EXPRESSION" | cut -d":" -f1)"; \
|
|
dirname="$(echo "$EXPRESSION" | cut -d":" -f2)"; \
|
|
cacheDuration="$(echo "$EXPRESSION" | cut -d":" -f3)"; \
|
|
\
|
|
if [ ! -z "$cacheDuration" ]; \
|
|
then \
|
|
args="--vfs-cache-max-age=$cacheDuration"; \
|
|
fi; \
|
|
\
|
|
destination="`cd "%h/.mnt"; realpath -m "$dirname"`"; \
|
|
mkdir -p "$destination"; \
|
|
mkdir -p /tmp/rclone; \
|
|
/usr/bin/rclone mount \
|
|
--config="%h/.config/rclone/rclone.conf" \
|
|
--vfs-cache-mode full \
|
|
--log-file /tmp/rclone/$target.log \
|
|
$args \
|
|
$target: "$destination";'
|
|
ExecStop=bash -c '/bin/fusermount -zu "`cd "%h/.mnt"; realpath "$(echo "$EXPRESSION" | cut -d":" -f2)"`"'
|
|
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=rclone.target
|