synctool by Walter de Jong (c) 2003-2011 synctool COMES WITH NO WARRANTY. synctool IS FREE SOFTWARE. synctool is distributed under terms described in the GNU General Public License. See the README file for generic information on synctool. See the INSTALL file for information on how to deploy synctool. See the DOCUMENTATION file for information on how to use synctool. Online documentation in HTML pages is available at: http://www.heiho.net/synctool/ What's new in synctool version 5.1 ? ==================================== This version mostly fixes bugs. There is a new feature named 'hostid' that you may use when there are nodes that (for whatever reason) have the same hostname. The hostid is a file on the node that holds the 'synctool' hostname that must be unique and uniquely identifies this node in the cluster. See also the documentation about hostid. What's new in synctool version 5.0 ? ==================================== There are many new things: - HTML documentation has been added to the website. - Use 'synctool -e' to erase the '.saved' files that synctool leaves behind. - Use dsh-ping to see if your nodes are alive. - Use dsh-pkg to do package management. - Use 'dsh -o' to pass extra options to ssh. - Use 'synctool -T' for terse output mode. - Use 'synctool -F' to have synctool display full paths. - options -1, --single, --diff, --ref can be given multiple times. - .post scripts for directories are now run _in_ that directory rather than in the parent directory. - 'synctool-config --nodename' displays the current nodename. - checksums are performed much faster now if there is no match. - There are a bunch of new configuration parameters. See the provided synctool.conf.example for a list. - synctool.conf parameter 'ignore' supports wildcards. - Multiple overlay directories can be defined. This enables you to restructure your overlay dir in a way that you think is logical. - synctool.conf has a new 'hostname:' qualifier for nodes that are multi-homed. Also included are updated contributions by Onno Zweers: - updated synctool-diff command - a shell-scripting library for writing synctool tasks UPGRADING INFO To upgrade from version 4.7.x to 5.0, run 'make install' on the master node and then run 'synctool'. If you have synctool installed in the default place (/opt/synctool/), then the upgrade should now be complete. The version number was bumped to 5.0 because of major rewrites in the code. The new code is more readable and therefore easier to maintain. synctool 5.0 has been tested more than enough, but should you encounter any issues, feel free to mail the author at walter@heiho.net Some info on older versions is listed below. What's new in synctool version 4.7.1 ? ====================================== Only two tiny things: - bugfix for the "ignore" keyword that ignores files or directories - dsh and dcp now quietly accept the command-line option -q What's new in synctool version 4.7 ? ==================================== IMPORTANT UPGRADING INFO This version includes a subtle yet major installation change that makes sysadmin-ing synctool itself a lot easier. Previously, you had to upgrade the nodes with 'make client_install'. This step is no longer needed. However, for synctool to install correctly, do the following (assuming masterdir=/var/lib/synctool/): 1. run 'make install' 2. edit /var/lib/synctool/synctool.conf change the line with 'synctool_cmd' to: synctool_cmd /var/lib/synctool/sbin/synctool.py -c /var/lib/synctool/synctool.conf 3. run 'synctool -qa' synctool upgrade complete, on the entire cluster! What did just happen? synctool version 4.7 installs all its commands under /var/lib/synctool/sbin/. This directory gets synced to the clients whenever you run synctool on the master node. This means that your client synctool software is being kept up to date automatically from the master node. On the master node itself, the commands under /opt/synctool/sbin/ all link to /var/lib/synctool/sbin/. This guarantees that the master and the client run the same version of synctool. The old client installations of synctool software are no longer needed, so as a step 4 you may do: 4. dsh -x masternode rm -rf /opt/synctool/sbin What else is new? This version includes two very nice contributions: * synctool-diff by Onno Zweers which uses the graphical diff tool 'meld' * .bash_completion definition by Tim Dittler which quickens typing long synctool options in bash See the contrib/ directory for these useful contributions. Many thanks go to Onno and Tim! See the Changelog for other changes to synctool. Some info on older changes (version 4.6) is listed here: - Version 4.6.1 is a bugfix release to 4.6 It also contains contributed control files needed for making .deb packages for the Debian GNU/Linux OS, which can be found under contrib/debian/ What's new in synctool version 4.6 ? ==================================== Aside from a few minor bug fixes, version 4.6 includes two new features that both have to do with group definitions in synctool's config file: 1, groups 'all' and 'none' are now built-in groups. group 'all' applies to all nodes. Group 'none' is ignored by default. It can be used on files in the synctool repository that must not be synced right now, but maybe later. The fact that 'all' and 'none' are built-in now means that you can remove them from synctool's config file -- but read below. The built-in groups 'all' and 'none' may be overridden if you define them yourself, but really, you shouldn't. 2. 'compound groups' may be defined. This is convenient if you have many nodes that are in the same set of groups. Example: group wn workernode batch mounthome plasma solar ldapclient node n1 master node n2 login mounthome node n3 wn node n4 wn node n5 wn node n6 wn othergroup node n7 moreimportantgroupfirst wn Compound groups may be combined, too: group bigwn somegroup othergroup wn Original idea of compound groups was by Tim Dittler. Upgrading info ============== Upgrade synctool as usual. I always upgrade the server first, and then the clients. After upgrading, you may delete the groups 'all' and 'none' from the synctool.conf file. The synctool.conf file is located under /var/lib/synctool (by default). NB. If you remove the groups 'all' and 'none' from the config file before upgrading and then run synctool, you may end up with nodes being unable to parse the config file. If you get stuck like this, change the config file back and use 'dcp /var/lib/synctool/synctool.conf' to restore the working config file on the nodes. After that, upgrade in the proper way. EOB