I've never shared anything through github, but I believe it is accessible at https://github.com/radilly/cmxaux/blob/master/walker.py
I've used it a couple times now and at this point it saves me time and allows for the style of update I prefer. I understand the recommendation in viewtopic.php?p=148477 - but I'm not sure that preserves any changes I've made or the data collected to date 1. I guess I also like to minimize the down time (from having worked on "live" systems in the course of my career).
This is a Python script, which is easy for Pi users. Though I installed Python on my Windows box some time ago, it is version 3 and runs the script properly in my testing. (I wrap it in a BAT file that has the path to Python.)
The default output is a text report (sample attached) which compares 3 directory trees. The help shown with -h:
Code: Select all
$ ~/cmxaux/walker.py -h
usage: walker.py [-h] [--script {dos,bash}] refdir newdir install
This assists in updating an existing Cumulus MX installation.
positional arguments:
refdir Path to the directory we will use as the reference
version; the installed version as-shipped.
newdir Path to the directory with the new version.
install Path to the installed directory which is to be updated
(from the version in refdir).
optional arguments:
-h, --help show this help message and exit
--script {dos,bash} Generate output in script format.
The way I use this is I run a report just to get a feel for the magnitude of the changes between builds. Then I use the --script flag to generate a bash script to copy (and remove) files into my install. The intent is that the generated script represents the minimum change to an existing install. I strongly recommend checking the generated script before running it and, of course, backing up your installation. I generate this script before stopping CMX and get it ready to run, look over the couple of changed files I have to understand what I have to do to bring them up to date, and make my backup. It's then pretty quick to halt CMX, run the script, and restart again. I was down for a minute ... save for the html file changes I need make.
Hopefully that is enough for anyone interested to try it out. This isn't intended to be a "turn-key" updater, but rather something to aid if you wish to do this particular style of update.
---
Edits:
1 "Data" is not an issue. AFAIK, the data files, including .ini files are generated, and not included in the distro. You do need to be mindful of anything you've changed though.