add logging to log file

dev
Bryan 2020-11-02 23:51:31 -06:00
parent c958c656f2
commit 2d03ea9e11
2 changed files with 25 additions and 15 deletions

View File

@ -44,6 +44,7 @@ cat <<EOF
rotate 5 rotate 5
missingok missingok
nocompress nocompress
create
} }
EOF > /etc/logrotate/logrotate.d/borgwrapper EOF > /etc/logrotate/logrotate.d/borgwrapper

View File

@ -2,13 +2,20 @@
VERSION="2.0" VERSION="2.0"
SCRIPT_NAME=$(basename $0) SCRIPT_NAME=$(basename $0)
LOGFILE="/var/log/borgwrapper/borgwrapper.log"
# Create log directory if not exist
if [ ! -d $(dirname ${LOGFILE}) ]; then
mkdir $(dirname ${LOGFILE}
fi
log () { log () {
echo "$@" | logger -p user.notice -t ${SCRIPT_NAME} echo "$@" >> ${LOGFILE}
} }
err () { err () {
echo "$@" | logger -p user.err -t ${SCRIPT_NAME} echo "$@" >> ${LOGFILE}
} }
print_usage () { print_usage () {
@ -86,7 +93,7 @@ borg_init () {
) )
fi fi
log "Initializing ${BORG_REPO}" log "Initializing ${BORG_REPO}"
${BORG} init "${BORG_INIT_ARGS[@]}" "${BORG_REPO}" ${BORG} init "${BORG_INIT_ARGS[@]}" "${BORG_REPO}" > ${LOGFILE}
} }
borg_backup () { borg_backup () {
@ -118,6 +125,7 @@ borg_backup () {
"${BORG_REPO}"::"${SYSTEM_NAME}-$(date -u +'%Y-%m-%dT%H-%M-%SZ')" \ "${BORG_REPO}"::"${SYSTEM_NAME}-$(date -u +'%Y-%m-%dT%H-%M-%SZ')" \
"${PATHS[@]}" \ "${PATHS[@]}" \
"${EXCLUDE_CMD[@]}" \ "${EXCLUDE_CMD[@]}" \
>> ${LOGFILE} \
|| log "Error backing up. Has repo been initialized?" || log "Error backing up. Has repo been initialized?"
} }
@ -143,7 +151,8 @@ borg_prune () {
--keep-weekly=${KEEP_WEEKLY:-0} \ --keep-weekly=${KEEP_WEEKLY:-0} \
--keep-monthly=${KEEP_MONTHLY:-0} \ --keep-monthly=${KEEP_MONTHLY:-0} \
--keep-yearly=${KEEP_YEARLY:-0} \ --keep-yearly=${KEEP_YEARLY:-0} \
"${BORG_REPO}" "${BORG_REPO}" \
>> "${LOGFILE}
} }
borg_verify () { borg_verify () {
@ -154,12 +163,12 @@ borg_verify () {
fi fi
log "Running borg check" log "Running borg check"
${BORG} check "${BORG_CHECK_ARGS[@]}" "${BORG_REPO}" ${BORG} check "${BORG_CHECK_ARGS[@]}" "${BORG_REPO}" >> ${LOGFILE}
} }
borg_exec () { borg_exec () {
export BORG_REPO export BORG_REPO
${BORG} "$@" ${BORG} "$@" >> ${LOGFILE}
} }
convert_rate () { convert_rate () {
@ -184,10 +193,10 @@ convert_rate () {
RATE=${BASH_REMATCH[1]} RATE=${BASH_REMATCH[1]}
else else
>&2 echo "${IN_RATE} is not a valid rate" >&2 echo "${IN_RATE} is not a valid rate"
false false >> ${LOGFILE}
fi fi
echo ${RATE} echo ${RATE} >> ${LOGFILE}
} }
limit_bw () { limit_bw () {
@ -201,7 +210,7 @@ limit_bw () {
chmod +x ${PV_WRAPPER} chmod +x ${PV_WRAPPER}
echo -e '#!/bin/bash\npv -q -L ${RATE_LIMIT} | "$@"' > ${PV_WRAPPER} echo -e '#!/bin/bash\npv -q -L ${RATE_LIMIT} | "$@"' > ${PV_WRAPPER}
export BORG_RSH="${PV_WRAPPER} ${BORG_RSH}" export BORG_RSH="${PV_WRAPPER} ${BORG_RSH}"
echo "Limiting bandwith to ${RATE_LIMIT} bytes/s" echo "Limiting bandwith to ${RATE_LIMIT} bytes/s" >> ${LOGFILE}
} }
exit_backup () { exit_backup () {
@ -290,16 +299,16 @@ mkdir -p "${LOCKDIR}"
elif [[ ${MODE} == "backup" ]]; then elif [[ ${MODE} == "backup" ]]; then
trap 'exit_backup $?' ERR INT TERM trap 'exit_backup $?' ERR INT TERM
save_package_list save_package_list
echo "saving package list" echo "Saving package list..." >> ${LOGFILE}
dump_mongo dump_mongo
echo "dumping mongo" echo "Dumping mongo..." >> ${LOGFILE}
dump_sql dump_sql
echo "dumping sql" echo "Dumping sql..." >> ${LOGFILE}
borg_backup borg_backup
echo "running borg backup" echo "Running borg backup..." >> ${LOGFILE}
borg_prune borg_prune
echo "running borg prune" echo "Running borg prune..." >> ${LOGFILE}
exit_backup 0 exit_backup 0
elif [[ ${MODE} == "verify" ]]; then elif [[ ${MODE} == "verify" ]]; then
trap 'exit_verify $?' ERR INT TERM trap 'exit_verify $?' ERR INT TERM
@ -307,7 +316,7 @@ mkdir -p "${LOCKDIR}"
exit_verify 0 exit_verify 0
elif [[ ${MODE} == "exec" ]]; then elif [[ ${MODE} == "exec" ]]; then
if [[ $# -le 1 ]]; then if [[ $# -le 1 ]]; then
>&2 echo "ERROR: No borg arguments given" >&2 echo "ERROR: No borg arguments given" >> ${LOGFILE}
exit 1 exit 1
fi fi