Restrict bandwidth only at certain times

Hi,

New user to rclone - and am finding it great so far - syncing data to Amazon Cloud Drive.

My ISP has upload restrictions in place weekday evenings (time range A), and weekends (time range B).
I have found the bandwidth restrict flag (and converted kbyte to kbit ok), but its all or nothing. Is there any way to invoke it during certain times (range A and B above)?

Alternately I will shell script it - but any tips on how to cleanly stop the rclone just before the restricted time, so I can start a new rclone with the restriction flag active? (Im not an advanced coder it would be a basic shell script on OSX).

Many thanks (and for the great product)

Hello NewRCloner,

Welcome to the club :wink:

One user has recently developed and submitted a patch to rclone so, once you start it with some bandwidth limit, you can turn it on and off at will. For more (and technical) details, see here: https://github.com/ncw/rclone/pull/810

To sum it up, just start your sync/copy/etc with rclone and --bwlimit as you normally would, then send it a SIGUSR2 signal (killall -USR2 rclone) to disable it, then send it again to reenable and so on (it’s a toggle).

I don’t think it’s at the current non-beta build (v.1.33 at this time) but it should be at the more recent betas; here’s a direct link for 64-bit OS/X: http://beta.rclone.org/v1.33-93-g11301a6/rclone-v1.33-93-g11301a6β-osx-amd64.zip

Good luck,

Durval.

Thanks Durval. That’s already a bit beyond my comprehension but I’m sure with a bit of reading and your links I’ll work it out! Meanwhile I just manually quit in the eve and restart in the morning at full bandwidth.

I assume ctrl-c in the shell is safe enough way to stop it running (just a bit messy as may leave partial files)?

Hello newrcloner,

Basically:

  1. Install an rclone version supporting the feature; the one I linked should be OK.
  2. Find out how to send a SIGUSR2 to a process in OS/X; No experience with it, but I suppose typing “killall -USR2 rclone” in a command line should work, if OS/X indeed has the killall command. If not, you’d have to use ps (like “ps auwx | grep rclone”) to find out the rclone PID, and then “kill -USR2 PID”.

If you have no command-line experience, I strongly urge you to get some; the command-line is one of the best resources in any *ix like OS, and shall prove a valuable investment for the future (not only for rclone).

^C is the standard way to terminate most programs safely, and rclone is no exception. I don’t think it will leave partial files, at least not in an ACD remote as ACD supposedly doesn’t support that (unfortunately, as it would make it much simpler to implement transfer restarting). If you are copying the other way around (from ACD to local), I just tested and yes, it leaves partial file(s) from the copy.

@ncw: is this a bug, or an intended feature, perhaps to enable “remote to local” copy restarts (in the future?)

Cheers,

Durval.

Thanks.

Yes I have quite a bit of command line, shell scripting and super-basic python, but just haven’t come across the above. OSx has killall. Thanks for all your help, I’m sure I’ll be able to get something working now, if I do I’ll paste my sloppy code here :wink:

Thanks for the follow-up, @newrcloner. Looking forward to seeing your code :slight_smile:

Cheers,

Durval.

A half copied file will be re-transferred on the next run of rclone so it will get sorted out eventually.

It isn’t an intended feature, it is just difficult to do anything else!

So if I read this correctly, aside from using a schedule timetable for the bwlimit flag we can set a single bwlimit then send a SIGUSR2 signal to turn it off/on?

If this is true then this is exactly what I was looking for.

Yes that is right. I don’t think the SIGUSR2 bits made it to the docs yet but I have an issue about that!