no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
| — | monitors:xymon-duplicity [2020/05/17 09:02] (current) – created doktoil_makresh | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== xymon-duplicity ====== | ||
| + | |||
| + | ^ Author | [[ damien@makelofine.org | Damien ]] | | ||
| + | ^ Compatibility | Xymon 4.2 / 4.3 | | ||
| + | ^ Requirements | Basic unix tools | | ||
| + | ^ Download | Part of https:// | ||
| + | ^ Last Update | 2020-05-17 | | ||
| + | |||
| + | ===== Description ===== | ||
| + | This script will connect to your duplicity server to check the status of backups (see xymon-duplicity.cfg) | ||
| + | ===== Installation ===== | ||
| + | === Client side === | ||
| + | Add this entry in / | ||
| + | Adapt the name (root) to the user launching the backups | ||
| + | Adapt the path to duplicity | ||
| + | xymon ALL=(root) NOPASSWD: / | ||
| + | |||
| + | === Server side === | ||
| + | Nothing | ||
| + | ===== Source ===== | ||
| + | ==== xymon-duplicity.sh ==== | ||
| + | |||
| + | <hidden onHidden=" | ||
| + | < | ||
| + | # | ||
| + | #Verifying if the backup plan is working or not | ||
| + | #Heavily inspired by https:// | ||
| + | TEST=duplicity | ||
| + | INTERVAL=12h | ||
| + | export LANG=en_US | ||
| + | CONFIG_FILE=${XYMONCLIENTHOME}/ | ||
| + | BACKUP_BASE_DIR=${DUPLICITY_PROTOCOL}:// | ||
| + | |||
| + | #Debug | ||
| + | if [ " | ||
| + | echo "Debug ON" | ||
| + | XYMON=echo | ||
| + | XYMONCLIENTHOME="/ | ||
| + | XYMONTMP=" | ||
| + | XYMONDISP=your_xymon_server | ||
| + | MACHINE=$(hostname) | ||
| + | fi | ||
| + | |||
| + | STATUS_FILE=${XYMONTMP}/ | ||
| + | #Load configuration file | ||
| + | source $CONFIG_FILE | ||
| + | |||
| + | #Check each folders defined in Xymon_duplicity_config_file | ||
| + | TODAY=$(LANG=en_US date +%c | awk ' | ||
| + | YESTERDAY=$(LANG=en_US date +" | ||
| + | |||
| + | for FOLDER in $FOLDERS ; do | ||
| + | COLLECTION_STATUS=$(sudo duplicity collection-status $BACKUP_BASE_DIR/ | ||
| + | exitcode=$? | ||
| + | LATEST=$(echo $COLLECTION_STATUS | egrep " | ||
| + | |||
| + | #Check backup status | ||
| + | echo " | ||
| + | if [[ $exitcode != 0 ]] ; then | ||
| + | red=1 | ||
| + | echo "& | ||
| + | fi | ||
| + | if [[ $LATEST == "" | ||
| + | red=1 | ||
| + | echo "& | ||
| + | fi | ||
| + | if [[ $LATEST == *$TODAY* ]] ; then | ||
| + | echo "& | ||
| + | elif [[ $LATEST == *$YESTERDAY* ]] ; then | ||
| + | yellow=1 | ||
| + | echo "& | ||
| + | else | ||
| + | red=1 | ||
| + | echo "& | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | #Define global status | ||
| + | if [ " | ||
| + | global_color=red | ||
| + | elif [ " | ||
| + | global_color=yellow | ||
| + | else | ||
| + | global_color=green | ||
| + | fi | ||
| + | |||
| + | #Send Xymon the results | ||
| + | " | ||
| + | |||
| + | $(cat $STATUS_FILE) | ||
| + | " | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Known Bugs and Issues ===== | ||
| + | None | ||
| + | ===== To Do ===== | ||
| + | Monitor backups on several duplicity servers | ||
| + | ===== Credits ===== | ||
| + | https:// | ||
| + | ===== Changelog ===== | ||
| + | |||
| + | * **2020-05-17** | ||
| + | * Initial release | ||