#!/bin/bash BACKUP_ROOT="/opt/backup" BACKUP_DIR="${BACKUP_ROOT}/app" LOCKFILE="${BACKUP_ROOT}/`basename ${0}`.lock" BACKUP_KEEP_DAYS="30" NOW=$(date +"%Y-%m-%d-%H%M%S") if [ -f "${LOCKFILE}" ]; then echo "Backup is already running, exitting..." >&2 exit 1 fi touch "${LOCKFILE}" tar cpfz "${BACKUP_DIR}/backup_app.${NOW}.tgz" /opt/tomcat/current/webapps/* 2>/dev/null || echo "Error when performing backup." >&2 find "$BACKUP_DIR" -name "*tgz" -type f -mtime "+${BACKUP_KEEP_DAYS}" -delete rm "${LOCKFILE}" exit 0