From: Bill Erickson Date: Tue, 28 Feb 2017 17:43:39 +0000 (-0500) Subject: JBAS-1739 ADP file management script X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=8102274e611c683c24f702815a43ff3f2f1c40f3;p=working%2FEvergreen.git JBAS-1739 ADP file management script Script to archive daily ADP files and alert when a daily file is not delivered. Runs on the SFTP server. Signed-off-by: Bill Erickson --- diff --git a/KCLS/admin-scripts/adp-file-mgmt.sh b/KCLS/admin-scripts/adp-file-mgmt.sh new file mode 100755 index 0000000000..bd745ec3c0 --- /dev/null +++ b/KCLS/admin-scripts/adp-file-mgmt.sh @@ -0,0 +1,60 @@ +#!/bin/bash +set -ueo pipefail + +BASE_PATH=/home/sftpadp/pending/ +PROC_PATH="$BASE_PATH/Processed" +MAIL_CMD=mailx +MAIL_RECIP=bserickson@kcls.org,dbebeling@kcls.org,smylavarapu@kcls.org,itsopsalert@kcls.org +#MAIL_RECIP=bserickson@kcls.org +CURRENT_YMD=$(date +'%F'); +COMPRESS_AGE="6" +DELETE_AGE="365" + +FILES=(AllEmployees.csv TerminatedEmployees.csv) + +function announce { + echo "$(date +'%F %T') $(hostname): $1" +} + +ERROR_MESSAGES="" +function report { + ERROR_MESSAGES="$ERROR_MESSAGES$(date +'%F %T') $1\n" + announce "$1" +} + +# email import summary output +function report_results { + + if [ ! "$(which $MAIL_CMD)" ]; then + return; + fi + + if [ -z "$ERROR_MESSAGES" ]; then + return; + fi + + echo -e "$ERROR_MESSAGES" | $MAIL_CMD \ + -s "ADP File Error [$(date +'%F')]" $MAIL_RECIP +} + +cd $BASE_PATH; + +for FILE in "${FILES[@]}"; do + if [ -f "$FILE" ]; then + announce "Found file $FILE"; + BASE_FILE="${FILE%.*}" + mv $FILE "$PROC_PATH/$BASE_FILE.$CURRENT_YMD.csv" + else + report "$FILE NOT FOUND!"; + fi; +done; + +# Delete files older than DELETE_AGE +/usr/bin/find $PROC_PATH -type f -mtime +$DELETE_AGE -delete + +# Compress files older than COMPRESS_AGE +/usr/bin/find $PROC_PATH -type f -mtime +$COMPRESS_AGE \ + -not -name "*zip" -exec /usr/bin/zip -m {}.zip {} \; + +report_results; +