What is the problem you are having with rclone?
rclone is throwing errors on the mounted OneDrive folder, and I suspect that it causes issues with other services running.
Bit of a background: I am using Nextcloud AIO in a docker instance, which has a version of borg backup included. Using rclone, I have mounted my personal OneDrive with the ‘srv-backup’ folder configured as the root folder (to limit access from the Nextcloud server) to the host as a backup destination. To make this work permanently, I have added the mount command as a systemd service:
[Unit]
Description=Mount OneDrive backup folder via rclone
After=apache2.service
[Service]
ExecStart=/usr/bin/rclone --vfs-cache-mode writes mount onedrive_bkp: /mnt/odr-bkp
ExecStop=/bin/fusermount -u /mnt/odr-bkp
Restart=always
[Install]
WantedBy=default.targ
Now the first time that borg ran on the mounted folder, everything seemed to have worked fine, however I noticed afterwards that it had trouble removing the lock files. Running a backup integrity check also failed, and so did creating a new backup. Looking at systemctl status onedrive-bkp-mount
, I can see the following errors:
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg/lock.exclusive
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg/lock.exclusive
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg/data
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg/data/0
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg/data/0
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg/data/0
Dec 28 11:53:47 danserver rclone[1179]: ERROR : OneDrive root '': Could not get item full path: invalid parent path: /Livefolders/srv_backup/borg/data/0
Now, two things come to mind:
- Obviously, I don‘t know whether the errors are related to the backup services failing, but since it is explicitly mentioning the lock files as well as the data directories that it would operate in, I strongly suspect so.
- I wonder whether it has something to to with the root directory set to the srv_backup folder in the remote config?
Looking at the rclone code that returns the error messages I get, it seems that it is trying to split the paths /Livefolders/srv_backup/borg/lock.exclusive
etc at a :
, but clearly this isn‘t possible. I think that‘s a strange error, hence I am filing this as a suspected bug. Also since it seems to occur in the changenotify
functionality, it would also explain why it is causing issues when borg is trying to work with existing files, not when it creates new one.
Anyway, bit of a long story here, but hope this context helps! Any help is hugely appreciated.
Run the command 'rclone version' and share the full output of the command.
rclone v1.61.1
- os/version: debian 11.6 (64 bit)
- os/kernel: 5.10.0-20-amd64 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.19.4
- go/linking: static
- go/tags: none
Which cloud storage system are you using? (eg Google Drive)
OneDrive
The command you were trying to run (eg rclone copy /tmp remote:tmp
)
n/a
The rclone config contents with secrets removed.
type = onedrive
client_id = <redacted>
client_secret = <redacted>
root_folder_id = <redacted_drive_id>#<redacted_drive_id>!143333
token = {"access_token":"<redacted>","token_type":"Bearer","refresh_token":"<redacted>","expiry":"2022-12-28T12:45:47.583385991+01:00"}
drive_id = <redacted_drive_id>
drive_type = personal
A log from the command with the -vv
flag
n/a