#!/bin/bash -fu # # Hook to write file report instead of sending email # CONFIG_HOST="$1" CONFIG_PATH="$2" CONFIG_TASK="$3" CONFIG_DATE="$4" CONFIG_FILE="$5" HOOK_NAME="$6" HOOK_TYPE="$7" HOOK_TASK="$8" HOOK_CTID="$9" # --- source "$CONFIG_FILE" if [[ "$CONFIG_TASK" == "openvz-diff-backup" ]]; then LOG_FILE="$CONFIG_PATH/var/log/ovzdb.log" else LOG_FILE="$CONFIG_PATH/var/log/ovzdb_${CONFIG_TASK}.log" fi # --- if [[ -n "${!LOG_FILE[@]}" ]] && [[ -f "$LOG_FILE" ]]; then # --- Set report file REPORT_FILE="$SERVER_TMP_DIR/${CALLER_TASK}_${HOOK_TASK}_${HOOK_CTID}_error-report.flag" # --- Splash echo " ###################################### # Error report - openvz-diff-backups # ###################################### Oops, something went wrong. *Read this report or a kitten will die*. (please, do not panic and fill a bug report if necessary)" >> "$REPORT_FILE" # --- Create report echo -e "\n# --- $LOG_FILE\n" >> "$REPORT_FILE" if [[ -s "$LOG_FILE" ]]; then tac "$LOG_FILE" | grep -B 8192 -P -m 1 "\s*Info\s*\-\s*openvz\-diff\-backups\s*\d\.\d\.\d" | tac >> "$REPORT_FILE" fi echo -e "\n# --- /var/log/vzctl.log\n" >> "$REPORT_FILE" if [[ -s "/var/log/vzctl.log" ]]; then tail -n 50 "/var/log/vzctl.log" >> "$REPORT_FILE" fi echo -e "\n# --- /var/log/kern.log\n" >> "$REPORT_FILE" if [[ -s "/var/log/kern.log" ]]; then tail -n 50 "/var/log/kern.log" >> "$REPORT_FILE" fi # --- Exit exit 0 fi