Very clever! -tk
On Mon, Feb 13, 2017 at 3:35 PM, Glenn McKechnie <[email protected]> wrote: > > In looking for a backup solution for the weewx sqlite databases, I found > one in the most unlikely of places - weewx. :-) > > Because the read only pi > <https://github.com/glennmckechnie/rorpi-raspberrypi/wiki/Rorpi-Home> I > bang on about can (optionally) keep the database in its own ramfs, there > was a need to preserve that in case of failure. > That aside, having a backup of the database is an essential anyway. > > As I understand it, the report cycle in weewx only starts once all writes > to the database have finished, this provides some assurance that any copy > of the database taken at that time will be a good one. > > How to do it... > It relies on the ability to use multiple instances of a skin by simply > giving them their own skin [[section]] name in the weewx.conf file, or > skin.conf file > > [[RSYNCSQL]] > skin = Rsync > > Redefining HTML_ROOT (only within the skin itself) to point to the local > database > > [[RSYNCSQL]] > skin = Rsync > HTML_ROOT = /var/lib/weewx > > Add the rest to get it to start > > [[RSYNCSQL]] > skin = Rsync > HTML_ROOT = /var/lib/weewx > server = 192.168.0.100 > user = graybeard > path = /home/graybeard/rsynsql-weewx1 > > Finally, add a report_time stanza of your choosing (or not if you want a > rolling copy) > It would pay to check your archive_interval in weewx.conf, and make this > longer than that. > > To me, besides catching the database between archive intervals, this the > real sweetener. > > [[RSYNCSQL]] > skin = Rsync > HTML_ROOT = /var/lib/weewx > # If it's local, an ip address is fine for the server > server = 192.168.0.100 > # account that has password less access to the server > user = graybeard > # where to put it all, don't nest too deeply unless you create the > tree first > path = /home/graybeard/rsynsql-weewx > # every 20 minutes, run this report > report_timing = '*/20 * * * *' > # add the default > delete = 0 > > Alternatively, transfer it all to a skin.conf file and that way you can > make changes > to your setup while weewx is running. > > > In weewx.conf > [[RSYNCSQL]] > skin = Rsyncsql > #HTML_ROOT = /var/lib/weewx > # If it's local, an ip address is fine for the server > #server = 192.168.0.100 > # account that has password less access to the server > #user = graybeard > # where to put it all, don't nest too deeply unless you create the > tree first > #path = /home/graybeard/rsynsql-weewx1 > # every 20 minutes, run this report > # report_timing = '*/20 * * * *' > # add the default > delete = 0 > > > cd skins > cp -r Rsync Rsyncsql/ > edit skins/Rsyncsql/skin.conf and add the following after the comments at > the top... > > HTML_ROOT = /var/lib/weewx > # If it's local, an ip address is fine for the server > server = 192.168.0.100 > # account that has password less access to the server > user = graybeard > # where to put it all, don't nest too deeply unless you create the > tree first > path = /home/graybeard/rsynsql-weewx-skin > # every 20 minutes, run this report > report_timing = '*/20 * * * *' > # add the default > delete = 0 > > Finally, create the passwordless access for the remote user, from the > local root (the account weewx is running as) > > I'll add the above, and expand on it, to the weewx wiki > > https://github.com/weewx/weewx/wiki/Using-the-RSYNC- > skin-as-a-backup-solution > > Lastly - > > The above works well, but the copy is continuosly updated. I've tweaked > rsyncupload to add a dated directory structure and that appers to be > working well although it brings its own problems. I'll post about that > seperately, on the dev list. > > > > > > > > > > -- > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
