diff --git a/src/freedombone-base-email b/src/freedombone-base-email index 08a4df75..842bb73c 100755 --- a/src/freedombone-base-email +++ b/src/freedombone-base-email @@ -497,16 +497,35 @@ function email_archiving { # ensure that the mail archive script is up to date if [ -f /usr/local/bin/${PROJECT_NAME}-archive-mail ]; then - cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + if [ ! -f /etc/cron.daily/archivemail ]; then + cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + chmod +x /etc/cron.daily/archivemail + else + HASH1=$(sha256sum /usr/local/bin/${PROJECT_NAME}-archive-mail | awk -F ' ' '{print $1}') + HASH2=$(sha256sum /etc/cron.daily/archivemail | awk -F ' ' '{print $1}') + if [[ "$HASH1" != "$HASH2" ]]; then + cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + chmod +x /etc/cron.daily/archivemail + fi + fi else if [ -f /usr/bin/${PROJECT_NAME}-archive-mail ]; then - cp /usr/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + if [ ! -f /etc/cron.daily/archivemail ]; then + cp /usr/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + chmod +x /etc/cron.daily/archivemail + else + HASH1=$(sha256sum /usr/local/bin/${PROJECT_NAME}-archive-mail | awk -F ' ' '{print $1}') + HASH2=$(sha256sum /etc/cron.daily/archivemail | awk -F ' ' '{print $1}') + if [[ "$HASH1" != "$HASH2" ]]; then + cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + chmod +x /etc/cron.daily/archivemail + fi + fi else echo "/usr/bin/${PROJECT_NAME}-archive-mail was not found. ${PROJECT_NAME} might not have fully installed." exit 62379 fi fi - chmod +x /etc/cron.daily/archivemail # update to the next commit function_check set_repo_commit