A Python script to monitor the execution of a rsync task.
- The script
rsync-watch.py
parses thersync --stats
output and sends this statistics to a monitoring system like Nagios or Icinga using the NSCA protocol. - The script
rsync-watch.py
can be configured to perform various checks before starting the rsync process.
usage: rsync-watch.py [-h] [--host-name HOST_NAME] [--dest-user-group USER_GROUP_NAME] [--exclude EXCLUDE] [--rsync-args RSYNC_ARGS] [--action-check-failed {exception,skip}] [--check-file FILE_PATH] [--check-ping DESTINATION] [--check-ssh-login SSH_LOGIN] [-v] src dest A Python script to monitor the execution of a rsync task. positional arguments: src The source ([[USER@]HOST:]SRC) dest The destination ([[USER@]HOST:]DEST) options: -h, --help show this help message and exit --host-name HOST_NAME The hostname to submit over NSCA to the monitoring. --dest-user-group USER_GROUP_NAME Both the user name and the group name of the destination will be set to this name. --exclude EXCLUDE See the documention of --exclude in the rsync manual. --rsync-args RSYNC_ARGS Rsync CLI arguments. Insert some rsync command line arguments. Wrap all arguments in one string, for example: --rsync-args '--exclude "this folder"' -v, --version show program's version number and exit checks: Perform different checks before running the rsync task. --action-check-failed {exception,skip} Select action what to do when a check failed. --check-file FILE_PATH Check if a file exists on the local machine. --check-ping DESTINATION Check if a remote host is reachable by pinging. DESTINATION can a IP address or a host name or a full qualified host name. --check-ssh-login SSH_LOGIN Check if a remote host is reachable over the network by SSHing into it. SSH_LOGIN: “[email protected]” or “[email protected]” or “example.com”.