mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-22 02:51:03 +00:00
39 lines
1.1 KiB
Bash
Executable file
39 lines
1.1 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Example config:
|
|
# [backup-manager]
|
|
# user root
|
|
# env.backup_dir /path/to/your/backups/
|
|
# env.lifetime 2
|
|
# env.archive_pattern *.tar.bz2
|
|
# env.backup_number 4
|
|
|
|
# Configuration directives, edit before first use.
|
|
BACKUP_DIR=${backup_dir:-/data/backup}
|
|
ARCHIVE_PATTERN="${archive_pattern:-*.tar.bz2}"
|
|
# How old backups should be considered as non-yound anymore in [days].
|
|
LIFETIME=${lifetime:-2}
|
|
# Critical states will be issued when the number of fresh backups archives is below `backup_number`,
|
|
# and warnings below `backup_number*lifetime`
|
|
CRIT=${backup_number:-1}
|
|
WARN=$((${CRIT}*${LIFETIME}))
|
|
|
|
# The situation is critical if there are no young files, the backup is down.
|
|
case $1 in
|
|
config)
|
|
cat << EOF
|
|
graph_title Fresh (<=${LIFETIME}d) backups archives in ${BACKUP_DIR}
|
|
graph_vlabel number
|
|
graph_args -l 0
|
|
graph_category system
|
|
freshcount.label number
|
|
freshcount.critical ${CRIT}:
|
|
freshcount.warning ${WARN}:
|
|
EOF
|
|
exit 0;;
|
|
esac
|
|
|
|
printf "freshcount.value "
|
|
find $BACKUP_DIR -name "${ARCHIVE_PATTERN}" -a -mtime -$LIFETIME | wc -l
|
|
printf "freshcount.extinfo "
|
|
du -sh $BACKUP_DIR
|