What is the problem you are having with rclone?
Fuse seems to hang when I use rclone rc operations/copyfile with a srcFs set to the path of the mounted crypt drive. Works fine if I use the drive name instead of the path.
I am using systemctl to mount a crypt drive on Ubuntu 20.04 LTS at /Plex.
Here is my rclone.service that I am using on my test server. I have stripped it down from my production server trying to determine where the problem is.
[Unit]
Description=rclone GDrive Mount Service
AssertPathIsDirectory=/Plex
Wants=network-online.target
After=network-online.target
[Service]
Type=notify
Environment=RCLONE_CONFIG=/root/.config/rclone/rclone.conf
KillMode=none
RestartSec=5
ExecStart=/usr/bin/rclone mount GD-crypt: /Plex \
--rc --rc-addr=:5572 --rc-user=XXXX --rc-pass=XXXX \
--debug-fuse \
--log-level=DEBUG \
--log-file=/home/rclonelog.txt
#
ExecStop=/bin/fusermount -uz /Plex
Restart=on-failure
[Install]
WantedBy=multi-user.target
When I run this command, it works fine.
curl -X POST -u XXXX:XXXX http://testrclone.tld:5572/operations/copyfile -d srcFs=GD-crypt: -d srcRemote=testfile.txt -d dstFs=/home -d dstRemote=testfile1.txt
When I run this command, it never completes and the file system seems to be hung up. When I do a df, it never responds. I end up having to reboot my server.
curl -X POST -u XXXX:XXXX http://testrclone.tld:5572/operations/copyfile -d srcFs=/Plex -d srcRemote=testfile.txt -d dstFs=/home -d dstRemote=testfile2.txt
This used to work. I'm guessing that some updates to Ubuntu changed something.
Should it work?
The reason I am interested in using the path instead of the drive is that is how I wrote the rclone monitor in my multi-server fork of Tautulli to verify that the rclone mount is up.
If it should not ever be done this way, I can rethink my code. But since it used to work, I am wondering if there could be a bug in rclone. Trying to figure out where the issue is and what to do with my code.
Run the command 'rclone version' and share the full output of the command.
rclone v1.58.0
- os/version: ubuntu 20.04 (64 bit)
- os/kernel: 5.4.0-29-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.17.8
- go/linking: static
- go/tags: none
Are you on the latest version of rclone? You can validate by checking the version listed here: -->
Yes.
Which cloud storage system are you using? (eg Google Drive)
Google Drive
The command you were trying to run (eg rclone copy /tmp remote:tmp
)
curl -X POST -u XXXX:XXXX http://myhost.tld:5572/operations/copyfile -d srcFs=/Plex -d srcRemote=testfile.txt -d dstFs=/home -d dstRemote=testfile2.txt
The rclone config contents with secrets removed.
root@testRclone:~# rclone config show
[GD]
type = drive
client_id = XXXX.apps.googleusercontent.com
client_secret = XXXX
token = XXXX
root_folder_id = XXXX
[GD-crypt]
type = crypt
remote = GD:PlexCrypt
filename_encryption = standard
password = XXXX
password2 = XXXX
A log from the command with the -vv
flag
2022/03/21 13:08:53 DEBUG : rclone: Version "v1.58.0" starting with parameters ["/usr/bin/rclone" "mount" "GD-crypt:" "/Plex" "--rc" "--rc-addr=:5572" "--rc-user=XXXX" "--rc-pass=XXXX" "--debug-fuse" "--log-level=DEBUG" "--log-file=/home/rclonelog.txt"]
2022/03/21 13:08:53 INFO : Using --user XXXX --pass XXXX as authenticated user
2022/03/21 13:08:53 NOTICE: Serving remote control on http://[::]:5572/
2022/03/21 13:08:53 DEBUG : Creating backend with remote "GD-crypt:"
2022/03/21 13:08:53 DEBUG : Using config file from "/root/.config/rclone/rclone.conf"
2022/03/21 13:08:53 DEBUG : Creating backend with remote "GD:PlexCrypt"
2022/03/21 13:08:54 DEBUG : Encrypted drive 'GD-crypt:': Mounting on "/Plex"
2022/03/21 13:08:54 DEBUG : : Root:
2022/03/21 13:08:54 DEBUG : : >Root: node=/, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: <- Getattr [ID=0x4 Node=0x1 Uid=0 Gid=0 Pid=1094] 0x0 fl=0
2022/03/21 13:08:57 DEBUG : /: Attr:
2022/03/21 13:08:57 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x4] Getattr valid=1s ino=1 size=0 mode=drwxr-xr-x
2022/03/21 13:08:57 DEBUG : fuse: <- Getxattr [ID=0x6 Node=0x1 Uid=0 Gid=0 Pid=1094] "security.selinux" 255
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x6] Getxattr error=operation not supported
2022/03/21 13:08:57 DEBUG : fuse: <- Getxattr [ID=0x8 Node=0x1 Uid=0 Gid=0 Pid=1094] "system.posix_acl_access" 0
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x8] Getxattr error=operation not supported
2022/03/21 13:08:57 DEBUG : fuse: <- Open [ID=0xa Node=0x1 Uid=0 Gid=0 Pid=1094] dir=true fl=OpenReadOnly+OpenDirectory+OpenNonblock
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0xa] Open 0x1 fl=0
2022/03/21 13:08:57 DEBUG : fuse: <- Read [ID=0xc Node=0x1 Uid=0 Gid=0 Pid=1094] 0x1 4096 @0x0 dir=true fl=0 owner=0 ffl=OpenReadOnly+OpenDirectory+OpenNonblock
2022/03/21 13:08:57 DEBUG : /: ReadDirAll:
2022/03/21 13:08:57 DEBUG : /: >ReadDirAll: item=14, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0xc] Read 496
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0xe Node=0x1 Uid=0 Gid=0 Pid=1094] "FredFlix"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="FredFlix"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=FredFlix/, err=<nil>
2022/03/21 13:08:57 DEBUG : FredFlix/: Attr:
2022/03/21 13:08:57 DEBUG : FredFlix/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0xe] Lookup 0x2 gen=0 valid=1s attr={valid=1s ino=15717829353103123350 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x10 Node=0x1 Uid=0 Gid=0 Pid=1094] "FredFlix2"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="FredFlix2"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=FredFlix2/, err=<nil>
2022/03/21 13:08:57 DEBUG : FredFlix2/: Attr:
2022/03/21 13:08:57 DEBUG : FredFlix2/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x10] Lookup 0x3 gen=0 valid=1s attr={valid=1s ino=10475298195129388972 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x12 Node=0x1 Uid=0 Gid=0 Pid=1094] "HeathFlix"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="HeathFlix"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=HeathFlix/, err=<nil>
2022/03/21 13:08:57 DEBUG : HeathFlix/: Attr:
2022/03/21 13:08:57 DEBUG : HeathFlix/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x12] Lookup 0x4 gen=0 valid=1s attr={valid=1s ino=2004382313078097665 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x14 Node=0x1 Uid=0 Gid=0 Pid=1094] "JerryFlix"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="JerryFlix"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=JerryFlix/, err=<nil>
2022/03/21 13:08:57 DEBUG : JerryFlix/: Attr:
2022/03/21 13:08:57 DEBUG : JerryFlix/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x14] Lookup 0x5 gen=0 valid=1s attr={valid=1s ino=2541705083383385871 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x16 Node=0x1 Uid=0 Gid=0 Pid=1094] "JoeFlix"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="JoeFlix"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=JoeFlix/, err=<nil>
2022/03/21 13:08:57 DEBUG : JoeFlix/: Attr:
2022/03/21 13:08:57 DEBUG : JoeFlix/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x16] Lookup 0x6 gen=0 valid=1s attr={valid=1s ino=4609149152991018005 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x18 Node=0x1 Uid=0 Gid=0 Pid=1094] "JohnFlix"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="JohnFlix"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=JohnFlix/, err=<nil>
2022/03/21 13:08:57 DEBUG : JohnFlix/: Attr:
2022/03/21 13:08:57 DEBUG : JohnFlix/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x18] Lookup 0x7 gen=0 valid=1s attr={valid=1s ino=13561213146864862234 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x1a Node=0x1 Uid=0 Gid=0 Pid=1094] "NancePictures"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="NancePictures"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=NancePictures/, err=<nil>
2022/03/21 13:08:57 DEBUG : NancePictures/: Attr:
2022/03/21 13:08:57 DEBUG : NancePictures/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x1a] Lookup 0x8 gen=0 valid=1s attr={valid=1s ino=3128445353867814786 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x1c Node=0x1 Uid=0 Gid=0 Pid=1094] "NeilFlix"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="NeilFlix"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=NeilFlix/, err=<nil>
2022/03/21 13:08:57 DEBUG : NeilFlix/: Attr:
2022/03/21 13:08:57 DEBUG : NeilFlix/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x1c] Lookup 0x9 gen=0 valid=1s attr={valid=1s ino=14237185541713144927 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x1e Node=0x1 Uid=0 Gid=0 Pid=1094] "PatFlix"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="PatFlix"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=PatFlix/, err=<nil>
2022/03/21 13:08:57 DEBUG : PatFlix/: Attr:
2022/03/21 13:08:57 DEBUG : PatFlix/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x1e] Lookup 0xa gen=0 valid=1s attr={valid=1s ino=4229336788032598706 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x20 Node=0x1 Uid=0 Gid=0 Pid=1094] "PatrickFlix"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="PatrickFlix"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=PatrickFlix/, err=<nil>
2022/03/21 13:08:57 DEBUG : PatrickFlix/: Attr:
2022/03/21 13:08:57 DEBUG : PatrickFlix/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x20] Lookup 0xb gen=0 valid=1s attr={valid=1s ino=11662927799686620677 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x22 Node=0x1 Uid=0 Gid=0 Pid=1094] "TBFlix"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="TBFlix"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=TBFlix/, err=<nil>
2022/03/21 13:08:57 DEBUG : TBFlix/: Attr:
2022/03/21 13:08:57 DEBUG : TBFlix/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x22] Lookup 0xc gen=0 valid=1s attr={valid=1s ino=6872414671183487661 size=0 mode=drwxr-xr-x}
2022/03/21 13:08:57 DEBUG : fuse: <- Lookup [ID=0x24 Node=0x1 Uid=0 Gid=0 Pid=1094] "testfile.txt"
2022/03/21 13:08:57 DEBUG : /: Lookup: name="testfile.txt"
2022/03/21 13:08:57 DEBUG : /: >Lookup: node=testfile.txt, err=<nil>
2022/03/21 13:08:57 DEBUG : testfile.txt: Attr:
2022/03/21 13:08:57 DEBUG : testfile.txt: >Attr: a=valid=1s ino=0 size=20 mode=-rw-r--r--, err=<nil>
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x24] Lookup 0xd gen=0 valid=1s attr={valid=1s ino=4456035514278291952 size=20 mode=-rw-r--r--}
2022/03/21 13:08:57 DEBUG : fuse: <- Read [ID=0x26 Node=0x1 Uid=0 Gid=0 Pid=1094] 0x1 4096 @0x1f0 dir=true fl=0 owner=0 ffl=OpenReadOnly+OpenDirectory+OpenNonblock
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x26] Read 0
2022/03/21 13:08:57 DEBUG : fuse: <- Release [ID=0x28 Node=0x1 Uid=0 Gid=0 Pid=0] 0x1 fl=OpenReadOnly+OpenDirectory+OpenNonblock rfl=0 owner=0
2022/03/21 13:08:57 DEBUG : fuse: -> [ID=0x28] Release
2022/03/21 13:09:28 DEBUG : rc: "operations/copyfile": with parameters map[dstFs:/home dstRemote:testfile1.txt srcFs:GD-crypt: srcRemote:testfile.txt]
2022/03/21 13:09:28 DEBUG : Creating backend with remote "/home"
2022/03/21 13:09:28 DEBUG : testfile.txt: Need to transfer - File not found at Destination
2022/03/21 13:09:28 INFO : testfile.txt: Copied (new) to: testfile1.txt
2022/03/21 13:09:28 DEBUG : rc: "operations/copyfile": reply map[]: <nil>
2022/03/21 13:09:50 DEBUG : rc: "operations/copyfile": with parameters map[dstFs:/home dstRemote:testfile2.txt srcFs:/Plex srcRemote:testfile.txt]
2022/03/21 13:09:50 DEBUG : Creating backend with remote "/Plex"
2022/03/21 13:09:50 DEBUG : fuse: <- Getattr [ID=0x2a Node=0x1 Uid=0 Gid=0 Pid=1078] 0x0 fl=0
2022/03/21 13:09:50 DEBUG : /: Attr:
2022/03/21 13:09:50 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/03/21 13:09:50 DEBUG : fuse: -> [ID=0x2a] Getattr valid=1s ino=1 size=0 mode=drwxr-xr-x
2022/03/21 13:09:50 DEBUG : fuse: <- Lookup [ID=0x2c Node=0x1 Uid=0 Gid=0 Pid=1078] "testfile.txt"
2022/03/21 13:09:50 DEBUG : /: Lookup: name="testfile.txt"
2022/03/21 13:09:50 DEBUG : /: >Lookup: node=testfile.txt, err=<nil>
2022/03/21 13:09:50 DEBUG : testfile.txt: Attr:
2022/03/21 13:09:50 DEBUG : testfile.txt: >Attr: a=valid=1s ino=0 size=20 mode=-rw-r--r--, err=<nil>
2022/03/21 13:09:50 DEBUG : fuse: -> [ID=0x2c] Lookup 0xd gen=0 valid=1s attr={valid=1s ino=4456035514278291952 size=20 mode=-rw-r--r--}
2022/03/21 13:09:50 DEBUG : testfile.txt: Need to transfer - File not found at Destination
2022/03/21 13:09:50 DEBUG : fuse: <- Open [ID=0x2e Node=0xd Uid=0 Gid=0 Pid=1078] dir=false fl=OpenReadOnly
2022/03/21 13:09:50 DEBUG : testfile.txt: Open: flags=OpenReadOnly
2022/03/21 13:09:50 DEBUG : testfile.txt: Open: flags=O_RDONLY
2022/03/21 13:09:50 DEBUG : testfile.txt: >Open: fd=testfile.txt (r), err=<nil>
2022/03/21 13:09:50 DEBUG : testfile.txt: >Open: fh=&{testfile.txt (r)}, err=<nil>
2022/03/21 13:09:50 DEBUG : fuse: -> [ID=0x2e] Open 0x1 fl=0