Hmm, both strategies have advantages. It'd be great if weewx had the 
ability to add in rsync options so that if you just wanted to do a single 
thing, exclude a directory, or maybe conform to a specific non-standard 
setting on the remote host, then you can easily do that in weewx.

The extension is nice to have to create a full suite of rsync options so 
people can use it to backup stuff, move stuff, etc.

I've created a GitHub issue/request
https://github.com/weewx/weewx/issues/951

Thanks to you both.
Chris
On Tuesday, April 2, 2024 at 8:30:30 AM UTC-7 vince wrote:

> Seems complicated.  
>
> I was suggesting something like adding a general purpose 'rsync_options' 
> variable in that section of weewx.conf, and adding the value  to the 
> assembled rsync command in the run(self) routine in rsyncupload.py ?     
> Then the user could add any combination of the rsync options to the command 
> if needed.   Perhaps something like the following (untested):
>
> pi@pi4:/tmp$ diff rsyncupload.py.orig rsyncupload.py -u
> --- rsyncupload.py.orig 2024-04-02 08:18:48.311469290 -0700
> +++ rsyncupload.py 2024-04-02 08:19:57.970078706 -0700
> @@ -46,6 +46,7 @@
>          self.delete = delete
>          self.port = port
>          self.ssh_options = ssh_options
> +        self.rsync_options = rsync_options   # <== new
>          self.compress = compress
>          self.log_success = log_success
>          self.log_failure = log_failure
> @@ -96,6 +97,7 @@
>          if self.timeout is not None:
>              cmd.extend(["--timeout=%s" % self.timeout])
>          cmd.extend(["-e"])
> +        cmd.extend([rsync_options])    # <=== new
>          cmd.extend([rsyncsshstring])
>          cmd.extend([rsynclocalspec])
>          cmd.extend([rsyncremotespec])
>
> And add a rsync_options = "whatever you want here" to the [[RSYNC]] 
> section in weewx.conf ala:
>
>    [[RSYNC]]
>         delete = 0
>         skin = Rsync
>         enable = true
>         server = x.x.x.x 
>         user = myremoteuser
>         path = /my/remote/path/here
>         log_success = true
>         log_failure = true
>         rsync_options = "-x -y -z whatever"       # <=== new
>
> Disclaimer - totally untested and no idea if there are security risks of 
> doing it this way, but it would seem to be about as flexible as you can get 
> toward supporting whatever rsync options the underlying os supports with a 
> minimum of change to the existing uploader....
>
> On Tuesday, April 2, 2024 at 1:17:58 AM UTC-7 Glenn McKechnie wrote:
>
>> On Tue, 2 Apr 2024 at 15:00, Chris Alemany <chri...@gmail.com> wrote:
>>
>>> Thanks for the hints Vince. I ended up looking through the old Wiki and 
>>> came upon this page about backing up databases with the rsync report and 
>>> how you can spit rsync into multiple skins.
>>>
>>>
>>> https://github.com/weewx/weewx/wiki/Using-the-RSYNC-skin-as-a-backup-solution
>>>
>>
>> That was a good solution for a while, until - like you - I wanted more.
>>
>> I eventually pulled the rsyncupload.py code from the main tree and 
>> stuffed it into a skin.
>> The following was written a while ago. I still use it as is, but it's 
>> rough and untidy.  Really does need a clean up but I haven't and still 
>> don't have the time do that, so you get it warts and all...
>>
>> https://github.com/glennmckechnie/weewx-rsynctransfer
>>
>> It should install  *Gulp*, it should be self explanatory *Gulp* 
>> There are plenty of notes and examples in it that show it can handle the 
>> additional rsync command line options.
>>
>> my email address is in the code, there's the  issues tab on github and I 
>> always read this group.
>>
>> Cheers
>>  Glenn
>>
>> Various WeeWx addons at
>> https://github.com/glennmckechnie
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-user+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/0d2bbda5-dc2c-4075-bcae-44b6b4c01063n%40googlegroups.com.

Reply via email to