What is the problem you are having with rclone?
Not a problem (yet). I am trying to understand conceptually what is the difference between import
and stickyimport
in the new hasher backend.
I am just playing right now and I am not seeing stickyimport doing anything but import works fine. But before I would call this an issue, I want to try to understand the difference.
Where would you use one over the other? What do you lose by using sticky (assuming I can get it to work and it is just user error). Are there gotchas?
(and eventually, can I help clarify the docs too)
What is your rclone version (output from rclone version
)
rclone v1.57.0
- os/version: darwin 10.15.7 (64 bit)
- os/kernel: 19.6.0 (x86_64)
- os/type: darwin
- os/arch: amd64
- go/version: go1.17.2
- go/linking: dynamic
- go/tags: cmount
Which cloud storage system are you using? (eg Google Drive)
Local, hasher, crypt
The command you were trying to run (eg rclone copy /tmp remote:tmp
)
Kind of N/A but
$ rclone backend stickyimport crypt: SHA1 sha1.SUM -vv
and
$ rclone backend import crypt: SHA1 sha1.SUM -vv
The rclone config contents with secrets removed.
This is just testing. Passwords are not sensitive
[crypt_sub]
type = crypt
remote = /Users/<REDACTED>/test/crypt
filename_encryption = off
directory_name_encryption = false
password = MlM19IWiaFHY3-FZ9zmwq9oQoA
password2 = mh2a05_ltWbFVHITTHC59Mxj3w
[crypt]
type = hasher
remote = crypt_sub:
A log from the command with the -vv
flag
$ rclone backend stickyimport crypt: SHA1 sha1.SUM -vv
2021/11/29 11:37:12 DEBUG : Setting --config "/Users/<REDACTED>/test/rclone.conf" from environment variable RCLONE_CONFIG="/Users/<REDACTED>/test/rclone.conf"
2021/11/29 11:37:12 DEBUG : Setting --cache-dir "/Users/<REDACTED>/test/cache" from environment variable RCLONE_CACHE_DIR="/Users/<REDACTED>/test/cache"
2021/11/29 11:37:12 DEBUG : Setting --temp-dir "/Users/<REDACTED>/test/tmp" from environment variable RCLONE_TEMP_DIR="/Users/<REDACTED>/test/tmp"
2021/11/29 11:37:12 DEBUG : Setting --password-command "rclone-pass-store echo" from environment variable RCLONE_PASSWORD_COMMAND="rclone-pass-store echo"
2021/11/29 11:37:12 DEBUG : rclone: Version "v1.57.0" starting with parameters ["rclone" "backend" "stickyimport" "crypt:" "SHA1" "sha1.SUM" "-vv"]
2021/11/29 11:37:12 DEBUG : Using config file from "/Users/<REDACTED>/test/rclone.conf"
2021/11/29 11:37:12 INFO : Hasher is EXPERIMENTAL!
2021/11/29 11:37:12 DEBUG : Creating backend with remote "crypt_sub:"
2021/11/29 11:37:12 DEBUG : Creating backend with remote "/Users/<REDACTED>/test/crypt"
2021/11/29 11:37:12 DEBUG : hasher::crypt:: Groups by usage: cached [md5, sha1], passed [], auto [md5, sha1], slow [], supported [md5, sha1]
2021/11/29 11:37:12 DEBUG : crypt_sub~hasher.bolt: Opened for reading in 85.157µs
2021/11/29 11:37:12 DEBUG : Creating backend with remote "sha1.SUM"
2021/11/29 11:37:12 DEBUG : fs cache: adding new entry for parent of "sha1.SUM", "/Users/<REDACTED>/test"
2021/11/29 11:37:12 DEBUG : crypt_sub~hasher.bolt: released
2021/11/29 11:37:12 DEBUG : crypt_sub~hasher.bolt: Opened for writing in 79.489µs
2021/11/29 11:37:13 DEBUG : crypt_sub~hasher.bolt: released
2021/11/29 11:37:13 DEBUG : crypt_sub~hasher.bolt: Opened for writing in 180.599µs
2021/11/29 11:37:14 INFO : Summary: 41 checksum(s) imported
2021/11/29 11:37:14 DEBUG : 5 go routines active
and
$ rclone backend import crypt: SHA1 sha1.SUM -vv
2021/11/29 11:37:47 DEBUG : Setting --config "/Users/<REDACTED>/test/rclone.conf" from environment variable RCLONE_CONFIG="/Users/<REDACTED>/test/rclone.conf"
2021/11/29 11:37:47 DEBUG : Setting --cache-dir "/Users/<REDACTED>/test/cache" from environment variable RCLONE_CACHE_DIR="/Users/<REDACTED>/test/cache"
2021/11/29 11:37:47 DEBUG : Setting --temp-dir "/Users/<REDACTED>/test/tmp" from environment variable RCLONE_TEMP_DIR="/Users/<REDACTED>/test/tmp"
2021/11/29 11:37:47 DEBUG : Setting --password-command "rclone-pass-store echo" from environment variable RCLONE_PASSWORD_COMMAND="rclone-pass-store echo"
2021/11/29 11:37:47 DEBUG : rclone: Version "v1.57.0" starting with parameters ["rclone" "backend" "import" "crypt:" "SHA1" "sha1.SUM" "-vv"]
2021/11/29 11:37:47 DEBUG : Using config file from "/Users/<REDACTED>/test/rclone.conf"
2021/11/29 11:37:47 INFO : Hasher is EXPERIMENTAL!
2021/11/29 11:37:47 DEBUG : Creating backend with remote "crypt_sub:"
2021/11/29 11:37:47 DEBUG : Creating backend with remote "/Users/<REDACTED>/test/crypt"
2021/11/29 11:37:47 DEBUG : hasher::crypt:: Groups by usage: cached [md5, sha1], passed [], auto [md5, sha1], slow [], supported [md5, sha1]
2021/11/29 11:37:47 DEBUG : crypt_sub~hasher.bolt: Opened for reading in 88.554µs
2021/11/29 11:37:47 DEBUG : Creating backend with remote "sha1.SUM"
2021/11/29 11:37:47 DEBUG : fs cache: adding new entry for parent of "sha1.SUM", "/Users/<REDACTED>/test"
2021/11/29 11:37:47 DEBUG : crypt_sub~hasher.bolt: released
2021/11/29 11:37:47 DEBUG : crypt_sub~hasher.bolt: Opened for writing in 85.739µs
2021/11/29 11:37:49 DEBUG : crypt_sub~hasher.bolt: released
2021/11/29 11:37:49 DEBUG : crypt_sub~hasher.bolt: Opened for writing in 185.512µs
2021/11/29 11:37:49 INFO : Summary: 41 imported, 0 skipped
2021/11/29 11:37:49 DEBUG : 5 go routines active
Bonus Questions
- I saw
--checkers
is an option. I assume the global--fast-list
flag works too? - Will uploading files via mount add a hash? Does the mount setting (i.e.
--vfs-cache-mode
) change that? - You say this is "one time" but I can run this anytime I want, right? Lets say I want to purge my cache dirs. I can just
hashsum
to a file and reload with that? (or usinglsjson --hash
and turn it into a SUM file)