Automounting with systemd from a shell script

I am trying to use systemd to invoke a shell script to mount a couple of remotes. The remotes themselves connect and mount without difficulty from the command line and with the shell script. I am using storj.io in s3 mode.

Rclone version:

rclone v1.68.1

  • os/version: linuxmint 22 (64 bit)
  • os/kernel: 6.8.0-45-generic (x86_64)
  • os/type: linux
  • os/arch: amd64

The Shell file:


rclone mount storj.io-phone:/phone ~/mnt/storj.io-phone \
--vfs-cache-max-size 100M --vfs-cache-mode writes --daemon --allow-other --no-modtime --dir-cache-time 1m0s

sleep 1

rclone mount storj.io-private:/private ~/mnt/storj.io-private \
--vfs-cache-max-size 100M --vfs-cache-mode writes --daemon --allow-other --no-modtime --dir-cache-time 1m0s```

The systemd --user service:

[Unit]
Description=Rclone Remote Mount
Documentation=man:rclone(1)
Wants=network-online.target
After=network-online.target

[Service]
Type=notify

ExecStart=/home/adam/rclone-mount-script/systemd-rclone-mount.sh
ExecStop=/home/adam/rclone-mount-script/rclone-unmount.sh

Restart=on-failure
RestartSec=15

[Install]
WantedBy=multiuser.target

The service fails with result:

adam@ASUS-UL30A:~$ journalctl --user -xeu rclone-mount.service
Sep 26 23:02:36 ASUS-UL30A systemd[1711]: rclone-mount.service: Got notification message from PID 4803, but reception only permi>
Sep 26 23:02:36 ASUS-UL30A systemd[1711]: rclone-mount.service: Got notification message from PID 4803, but reception only permi>
Sep 26 23:02:38 ASUS-UL30A systemd[1711]: rclone-mount.service: Got notification message from PID 4803, but reception only permi>
Sep 26 23:02:38 ASUS-UL30A systemd[1711]: rclone-mount.service: Failed with result 'protocol'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ The unit UNIT has entered the 'failed' state with result 'protocol'.
Sep 26 23:02:38 ASUS-UL30A systemd[1711]: Failed to start rclone-mount.service - Rclone Remote Mount.
░░ Subject: A start job for unit UNIT has failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ A start job for unit UNIT has finished with a failure.
░░ 
░░ The job identifier is 684 and the job result is failed.
Sep 26 23:02:38 ASUS-UL30A systemd[1711]: rclone-mount.service: Consumed 1.364s CPU time.
░░ Subject: Resources consumed by unit runtime
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ The unit UNIT completed and consumed the indicated resources.
lines 240-262/262 (END)

Because the script runs without a problem for the prompt, I assume this is a systemd type problem, not rclone so I have not included the the config or the logs. I want to have all of the remotes started by one systemd user service. Is there a way to invoke a shell script or do the commands have to go into the .service file?

Cheers,

Redux

welcome to the forum,

have you seen?
https://github.com/rclone/rclone/issues/2704

fwiw, for testing,

  • run only one mount, get that working before trying two mounts.
  • do not use --daemon
  • use a rclone debug log
  • hard code full paths, not ~

Hello @asdffdsa Thanks for the welcome, firstly before I sink any time into this, is it not possible to run a mount as a --daemon service? I'd be forever accidentality disconnecting it. I currently use a script which pings the storj gateway and only mounts if its no error otherwise the mount on no network freezes the desktop on Lin and sometimes Win. The log from just using the CLI as you suggested which included copying some data down as test, so I have truncated some of the file back-forth. It worked:

<7>DEBUG : rclone: Version "v1.68.1" starting with parameters ["rclone" "mount" "storj.io-phone:/phone" "/home/adam/mnt/storj.io-phone" "--vfs-cache-max-size" "100M" "--vfs-cache-mode" "writes" "--allow-other" "--no-modtime" "--dir-cache-time" "1m1s" "--log-file=/home/adam/rclone-mount-script/rclone-logs/rclone-systemd-log.log" "--log-level" "DEBUG" "--log-systemd"]
<7>DEBUG : rclone: systemd logging support activated
<7>DEBUG : Creating backend with remote "storj.io-phone:/phone"
<7>DEBUG : Using config file from "/home/adam/.config/rclone/rclone.conf"
<7>DEBUG : fs cache: renaming cache item "storj.io-phone:/phone" to be canonical "storj.io-phone:phone"
<6>INFO  : S3 bucket phone: poll-interval is not supported by this remote
<7>DEBUG : vfs cache: root is "/home/adam/.cache/rclone"
<7>DEBUG : vfs cache: data root is "/home/adam/.cache/rclone/vfs/storj.io-phone/phone"
<7>DEBUG : vfs cache: metadata root is "/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone"
<7>DEBUG : Creating backend with remote ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfs/storj.io-phone/phone"
<7>DEBUG : :local: detected overridden config - adding "{bxYPm}" suffix to name
<7>DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfs/storj.io-phone/phone" to be canonical ":local{bxYPm}:/home/adam/.cache/rclone/vfs/storj.io-phone/phone"
<7>DEBUG : Creating backend with remote ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone"
<7>DEBUG : :local: detected overridden config - adding "{bxYPm}" suffix to name
<7>DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone" to be canonical ":local{bxYPm}:/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone"
<6>INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
<7>DEBUG : S3 bucket phone: Mounting on "/home/adam/mnt/storj.io-phone"
<7>DEBUG : : Root: 
<7>DEBUG : : >Root: node=/, err=<nil>
<7>DEBUG : /: Lookup: name=".Trash"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: Lookup: name=".xdg-volume-info"
<7>DEBUG : /: Lookup: name="autorun.inf"
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Lookup: name=".Trash-1000"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Lookup: name="autorun.inf"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory

No called from the user service from the original post the download worked for a bit, then it failed and then it seemed to try and remount itself. The journalctl is:

adam@ASUS-UL30A:~/rclone-mount-script$ systemctl --user start --now rclone-mount.service

adam@ASUS-UL30A:~/rclone-mount-script$ journalctl --user -xeu rclone-mount.service
Sep 27 15:56:14 ASUS-UL30A systemd[1694]: rclone-mount.service: Got notification message from PID 13515, but receptio>
Sep 27 15:56:14 ASUS-UL30A systemd[1694]: rclone-mount.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ An ExecStart= process belonging to unit UNIT has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 1.
Sep 27 15:56:14 ASUS-UL30A systemd[1694]: rclone-mount.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ The unit UNIT has entered the 'failed' state with result 'exit-code'.
Sep 27 15:56:14 ASUS-UL30A systemd[1694]: Failed to start rclone-mount.service - Rclone Remote Mount.
░░ Subject: A start job for unit UNIT has failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ A start job for unit UNIT has finished with a failure.
░░ 
░░ The job identifier is 2511 and the job result is failed.

[2]+  Stopped                 journalctl --user -xeu rclone-mount.service
adam@ASUS-UL30A:~/rclone-mount-script$ systemctl --user stop rclone-mount.service
adam@ASUS-UL30A:~/rclone-mount-script$ 

And the truncated rclone log as DEBUG because it was originally 1.8mb:

<7>DEBUG : rclone: Version "v1.68.1" starting with parameters ["rclone" "mount" "storj.io-phone:/phone" "/home/adam/mnt/storj.io-phone" "--vfs-cache-max-size" "100M" "--vfs-cache-mode" "writes" "--allow-other" "--no-modtime" "--dir-cache-time" "1m1s" "--log-file=/home/adam/rclone-mount-script/rclone-logs/rclone-systemd-log.log" "--log-level" "DEBUG" "--log-systemd"]
<7>DEBUG : rclone: systemd logging support activated
<7>DEBUG : Creating backend with remote "storj.io-phone:/phone"
<7>DEBUG : Using config file from "/home/adam/.config/rclone/rclone.conf"
<7>DEBUG : fs cache: renaming cache item "storj.io-phone:/phone" to be canonical "storj.io-phone:phone"
<6>INFO  : S3 bucket phone: poll-interval is not supported by this remote
<7>DEBUG : vfs cache: root is "/home/adam/.cache/rclone"
<7>DEBUG : vfs cache: data root is "/home/adam/.cache/rclone/vfs/storj.io-phone/phone"
<7>DEBUG : vfs cache: metadata root is "/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone"
<7>DEBUG : Creating backend with remote ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfs/storj.io-phone/phone"
<7>DEBUG : :local: detected overridden config - adding "{bxYPm}" suffix to name
<7>DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfs/storj.io-phone/phone" to be canonical ":local{bxYPm}:/home/adam/.cache/rclone/vfs/storj.io-phone/phone"
<7>DEBUG : Creating backend with remote ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone"
<7>DEBUG : :local: detected overridden config - adding "{bxYPm}" suffix to name
<7>DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone" to be canonical ":local{bxYPm}:/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone"
<6>INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
<7>DEBUG : S3 bucket phone: Mounting on "/home/adam/mnt/storj.io-phone"
<7>DEBUG : : Root: 
<7>DEBUG : : >Root: node=/, err=<nil>
<7>DEBUG : /: Lookup: name=".Trash"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: Lookup: name=".xdg-volume-info"
<7>DEBUG : /: Lookup: name="autorun.inf"
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Lookup: name=".Trash-1000"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Lookup: name="autorun.inf"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<6>INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
<7>DEBUG : : Statfs: 
<7>DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
<7>DEBUG : : Statfs: 
<7>DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
<7>DEBUG : : Statfs: 
<7>DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<6>INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
<7>DEBUG : Mi A2 Lite: forgetting directory cache
<7>DEBUG : : forgetting directory cache
<7>DEBUG : Mi A2 Lite: forgetting directory cache
<7>DEBUG : Moto C Plus: forgetting directory cache
<7>DEBUG : Moto C Plus: forgetting directory cache
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : : Statfs: 
<7>DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
<7>DEBUG : /: Lookup: name=".Trash"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: Lookup: name=".Trash-1000"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: ReadDirAll: 
<7>DEBUG : /: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : /: Lookup: name="Mi A2 Lite"
<7>DEBUG : /: >Lookup: node=Mi A2 Lite/, err=<nil>
<7>DEBUG : Mi A2 Lite/: Attr: 
<7>DEBUG : Mi A2 Lite/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: Lookup: name=".hidden"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: Lookup: name="Moto C Plus"
<7>DEBUG : /: >Lookup: node=Moto C Plus/, err=<nil>
<7>DEBUG : Moto C Plus/: Attr: 
<7>DEBUG : Moto C Plus/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : Moto C Plus/: ReadDirAll: 
<7>DEBUG : Moto C Plus/: >ReadDirAll: item=4, err=<nil>
<7>DEBUG : Moto C Plus/: Lookup: name=".file_placeholder"
<7>DEBUG : Moto C Plus/: >Lookup: node=Moto C Plus/.file_placeholder, err=<nil>
<7>DEBUG : Moto C Plus/.file_placeholder: Attr: 
<7>DEBUG : Moto C Plus/.file_placeholder: >Attr: a=valid=1s ino=0 size=0 mode=-rw-rw-r--, err=<nil>
<7>DEBUG : Moto C Plus/: Lookup: name="Apps Moto C Plus"
<7>DEBUG : Moto C Plus/: >Lookup: node=Moto C Plus/Apps Moto C Plus/, err=<nil>
<7>DEBUG : Moto C Plus/Apps Moto C Plus/: Attr: 
<7>DEBUG : Moto C Plus/Apps Moto C Plus/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : Moto C Plus/: Lookup: name=".hidden"
<7>DEBUG : Moto C Plus/: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : Mi A2 Lite/: ReadDirAll: 
<7>DEBUG : Mi A2 Lite/: >ReadDirAll: item=7, err=<nil>
<7>DEBUG : Mi A2 Lite/: Lookup: name="App Backup"
<7>DEBUG : Mi A2 Lite/: >Lookup: node=Mi A2 Lite/App Backup/, err=<nil>
<7>DEBUG : Mi A2 Lite/App Backup/: Attr: 
<7>DEBUG : Mi A2 Lite/App Backup/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : Mi A2 Lite/: Lookup: name=".hidden"
<7>DEBUG : Mi A2 Lite/: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : Mi A2 Lite/: Lookup: name="Apps Mi A2 Lite"
<7>DEBUG : Mi A2 Lite/: >Lookup: node=Mi A2 Lite/Apps Mi A2 Lite/, err=<nil>
<7>DEBUG : Mi A2 Lite/Apps Mi A2 Lite/: Attr: 
<7>DEBUG : Mi A2 Lite/Apps Mi A2 Lite/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : Mi A2 Lite/: Lookup: name="Pictures"
<7>DEBUG : Mi A2 Lite/: >Lookup: node=Mi A2 Lite/Pictures/, err=<nil>
<7>DEBUG : Mi A2 Lite/Pictures/: Attr: 
<7>DEBUG : Mi A2 Lite/Pictures/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : Mi A2 Lite/: Lookup: name="WhatsApp"
<7>DEBUG : Mi A2 Lite/: >Lookup: node=Mi A2 Lite/WhatsApp/, err=<nil>
<7>DEBUG : Mi A2 Lite/WhatsApp/: Attr: 
<7>DEBUG : Mi A2 Lite/WhatsApp/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : Mi A2 Lite/: Lookup: name="Download"
<7>DEBUG : Mi A2 Lite/: >Lookup: node=Mi A2 Lite/Download/, err=<nil>
<7>DEBUG : Mi A2 Lite/Download/: Attr: 
<7>DEBUG : Mi A2 Lite/Download/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : : Statfs: 
<7>DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
<7>DEBUG : /: Attr: 
<7>DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: Lookup: name=".Trash"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: Lookup: name=".Trash-1000"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : Moto C Plus/: Attr: 
<7>DEBUG : Moto C Plus/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: Lookup: name=".Trash"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : /: Lookup: name=".Trash-1000"
<7>DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
<7>DEBUG : Mi A2 Lite/: Attr: 
<7>DEBUG : Mi A2 Lite/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : /: Lookup: name="Mi A2 Lite"
<7>DEBUG : /: >Lookup: node=Mi A2 Lite/, err=<nil>
<7>DEBUG : Mi A2 Lite/: Attr: 
<7>DEBUG : Mi A2 Lite/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
<7>DEBUG : : Statfs: 
<7>DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>

Cut here, this is where the touble seems to start:

<7>DEBUG : &{Mi A2 Lite/App Backup/Podcast Addict/PodcastAddict_autoBackup_20240828_030014.backup (r)}: Read: len=131072, offset=5111808
<6>INFO  : Signal received: terminated
<7>DEBUG : rclone: Version "v1.68.1" starting with parameters ["rclone" "mount" "storj.io-phone:/phone" "/home/adam/mnt/storj.io-phone" "--vfs-cache-max-size" "100M" "--vfs-cache-mode" "writes" "--allow-other" "--no-modtime" "--dir-cache-time" "1m1s" "--log-file=/home/adam/rclone-mount-script/rclone-logs/rclone-systemd-log.log" "--log-level" "DEBUG" "--log-systemd"]
<7>DEBUG : rclone: systemd logging support activated
<7>DEBUG : Creating backend with remote "storj.io-phone:/phone"
<7>DEBUG : Using config file from "/home/adam/.config/rclone/rclone.conf"
<7>DEBUG : fs cache: renaming cache item "storj.io-phone:/phone" to be canonical "storj.io-phone:phone"
<6>INFO  : S3 bucket phone: poll-interval is not supported by this remote
<7>DEBUG : vfs cache: root is "/home/adam/.cache/rclone"
<7>DEBUG : vfs cache: data root is "/home/adam/.cache/rclone/vfs/storj.io-phone/phone"
<7>DEBUG : vfs cache: metadata root is "/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone"
<7>DEBUG : Creating backend with remote ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfs/storj.io-phone/phone"
<7>DEBUG : :local: detected overridden config - adding "{bxYPm}" suffix to name
<7>DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfs/storj.io-phone/phone" to be canonical ":local{bxYPm}:/home/adam/.cache/rclone/vfs/storj.io-phone/phone"
<7>DEBUG : Creating backend with remote ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone"
<7>DEBUG : :local: detected overridden config - adding "{bxYPm}" suffix to name
<7>DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot':/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone" to be canonical ":local{bxYPm}:/home/adam/.cache/rclone/vfsMeta/storj.io-phone/phone"
<6>INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
<2>CRITICAL: Fatal error: failed to mount FUSE fs: directory already mounted, use --allow-non-empty to mount anyway: /home/adam/mnt/storj.io-phone

Any suggestions, it might not be worth the bother. Finally, if you have any influence who can I contact about getting my home IP address unblocked, I have tried @NCW withy no luck, he's busy I know:


I have to tether to my phone just for here and its sloooow. Not asking much :rofl:

R.

yes, ncw is busy. the forum is not going to whitelist your ip address.
use a vpn. i always access the forum using mullvad vpn.

run the systemd service as system service, not user.

Thanks. I went with Proton free because this is the only thing I will be using it for. This has been a bit of a problem with be-fibre but I have to sit my remaining 18 months out.

Do you think its failing because it's a user service?

Cheers

R