Understanding Bans

What is the problem you are having with rclone?

24 Ban. 403 Errors

What is your rclone version (output from rclone version)

Latest

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Ubuntu 64 Bit

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)

\
Relevant part of systems file

**ExecStart=/usr/bin/rclone mount --buffer-size 16M --cache-dir=/home/user/cache --vfs-cache-mode full --vfs-cache-max-size 40G --vfs-cache-max-age 24h --timeout 1h --rc --dir-cache-time 72h --allow-other gdrive:/media /home/user/gdrive
\\

The rclone config contents with secrets removed.

[gdrive]
type = drive
client_id = xxx
client_secret = xxx
scope = drive
chunk_size = 16M
token = xxx
root_folder_id = xxx

So I've been banned for 24 hours. But I'm trying to understand exactly why as its happened 2 days in a row now.

I can confirm 403 errors from google console. However - I have not exceeded the 2 quoutas in the quotas section. I have not passed total queries per day and have not passed queries/100 seconds/user.

Also when I click the "quotas page" for more info in the IAM & Admin area its all Green checkmarks saying - "One Quota within limit" beside all services

Finally my suspicion is it has something to do with the speed or quantity of

drive.files.get query. I hit 91,000 in 24 hours - and this is the query reporting errors.

I have another box that I check that averages 65,000 and its fine.

Also anecdotally - the other box doesn't use vfs cache but the old cache drive. No issues there. Is the VFS somehow requesting faster? I see in the charts its like 10 requests / second whereas my other one is like 1-2/second?

Thank you!

edit - should also state doing a Jellyfin scan of media library. I for sure have not uploaded the 750G/day and I think I heard the download was 10Tb/day? I assume that's not possible for metadata for posters.

Terminology is important.

You aren't banned.

If you were banned, you'd have no Google Account and it would be gone.

There are quotas.

The only documented quota is 750GB per day.

There are many other quotas in terms of downloads as a whole, download per file and it's very dependent on the type of account as well as if it's a GSuite, edu, team drive, etc.

If you hit a quota, there isn't much to do other than wait it out. You can ask support to validate and see what the issue is, but other than that, you wait it out until it resets your quota.

There's no log and no version output so it's a bit tough to guess what the issue may or may not be.

You aren't hitting an API quota as those numbers are quite large per day and virtually impossible to hit.

You'd want to check your download/upload and look for a pattern.

You'd want to share your rclone version output and you'd want to share a debug log of what the issue is.

Thank you. I understand that I'm not permanently banned. Its a gsuite account (the grandfathered one - not the new workplace limits). No team drive.

rclone version = 1.55

How / where do I grab relevant log file? Ty!

Add in -vv to your command and add in --log-file /some/location/rclone.log

Are you shared with anyone else? Are you hitting a download quota or upload?

Where is the default location of log files for rclone on ubuntu?

None.

You have to use --log-file and give it a path/filename.

Sorry add to which command?

Your mount command.

Ok - and then try to scan the library again?

Sure.

One thing to remember with Plex/Emby/Jellyfin is you don't want to change path names on it as that triggers more scans of the media so try to keep things consistent in terms of where they are.

For Plex, I keep empty trash off as I'm not sure what the relevant setting it in Emby/Jellyfin.

What the hell. Now its working for some reason with no changes. Maybe my ban lifted early? So I can't even troubleshoot. But I'm trying to read logs and still can't. I added --vv and --log-file /path to the mount

When I start a stream and stop it - I go to that log file and its empty. Should it have info in there?

Edit - I initially created /pathto/rclone.log and that's what I added in mount.

You'd have to share the full command you are running.

The logfile would contain verbose debug output like:

felix@gemini:~$ rclone mount gcrypt: /home/felix/test -vv
2021/04/22 10:36:06 DEBUG : Using config file from "/opt/rclone/rclone.conf"
2021/04/22 10:36:06 DEBUG : rclone: Version "v1.55.0" starting with parameters ["rclone" "mount" "gcrypt:" "/home/felix/test" "-vv"]
2021/04/22 10:36:06 DEBUG : Creating backend with remote "gcrypt:"
2021/04/22 10:36:06 DEBUG : Creating backend with remote "GD:crypt"
2021/04/22 10:36:06 DEBUG : Encrypted drive 'gcrypt:': Mounting on "/home/felix/test"
2021/04/22 10:36:06 DEBUG : : Root:
2021/04/22 10:36:06 DEBUG : : >Root: node=/, err=<nil>

From my service file - relevant part

[Service]

Type=notify

Environment=RCLONE_CONFIG=/home/user/.config/rclone/rclone.conf

ExecStart=/usr/bin/rclone mount --buffer-size 16M --cache-dir=/home/user/cache --vfs-cache-mode full --vfs-cache-max-size 40G --vfs-cache-max-age 24h --timeout 1h --rc --dir-cache-time 72h --allow-other --vv --log-file /home/user/rclonelogs/rclone.log gdrive:/media /home/user/gdrive

ExecStop=/bin/fusermount -uz /home/user/gdrive

Restart=on-failure

RestartSec=20s

Same user running service owns file - so not permission.

Make sure to reload the service file.

systemctl daemon-reload

And if you restart the service, you should see items in that log file noted above.

Did that. Started a stream . Stopped it. Still nothing in logs. Quickly checked mount global flags and verbose = -v ? and not --vv ?

Thanks for your patience. Seems like the easiest thing is always hardest. lol

Or sorry might be --verbose count ?

You should use

-vv

or

--log-level DEBUG

Both do the same thing:

felix@gemini:~$ rclone lsd GD: -vv
2021/04/22 10:50:14 DEBUG : Using config file from "/opt/rclone/rclone.conf"
2021/04/22 10:50:14 DEBUG : rclone: Version "v1.55.0" starting with parameters ["rclone" "lsd" "GD:" "-vv"]
2021/04/22 10:50:14 DEBUG : Creating backend with remote "GD:"
          -1 2020-12-27 15:33:11        -1 backups
          -1 2019-09-29 21:57:58        -1 crypt
2021/04/22 10:50:14 DEBUG : 4 go routines active
felix@gemini:~$ rclone lsd GD: --log-level DEBUG
2021/04/22 10:50:22 DEBUG : Using config file from "/opt/rclone/rclone.conf"
2021/04/22 10:50:22 DEBUG : rclone: Version "v1.55.0" starting with parameters ["rclone" "lsd" "GD:" "--log-level" "DEBUG"]
2021/04/22 10:50:22 DEBUG : Creating backend with remote "GD:"
          -1 2020-12-27 15:33:11        -1 backups
          -1 2019-09-29 21:57:58        -1 crypt
2021/04/22 10:50:22 DEBUG : 4 go routines active
felix@gemini:~$

Ok so I added --log-level DEBUG and just to see I did

rclone lsd drive: -vv and I did get output like

2021/04/22 14:59:08 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2021/04/22 14:59:08 DEBUG : rclone: Version "v1.55.0" starting with parameters ["rclone" "lsd" "gdrive:" "-vv"]
2021/04/22 14:59:08 DEBUG : Creating backend with remote "gdrive:"
2021/04/22 14:59:08 DEBUG : Google drive root '': root_folder_id = "XXXX" - save this in the config to speed up startup
-1 2020-01-22 02:34:07 -1 media
2021/04/22 14:59:08 DEBUG : 4 go routines active

So then started a stream. Stopped it. Nothing in log

And before I forget - do I need to disable anything now with the lsd command. I assume not. But remove DEBUG logging in mount when I'm done.

For any flags, they are only relevant on the commands that they run on.

I use the remote control feature for my mount and I can toggle debug on / off for my logging if I need it.

felix@gemini:~/scripts$ cat rclone-debugon
rclone rc options/set --json '{"main": {"LogLevel": 8}}'
felix@gemini:~/scripts$ cat rclone-debugoff
rclone rc options/set --json '{"main": {"LogLevel": 6}}'
felix@gemini:~/scripts$

and my mount runs with:

# This sets up the remote control daemon so you can issue rc commands locally
--rc \
# This is the default port it runs on
--rc-addr :5572 \
# no-auth is used as no one else uses my server and it is not a shared seedbox
--rc-no-auth \