37 lines
846 B
Bash
37 lines
846 B
Bash
#!/bin/bash
|
|
|
|
# Specifications
|
|
SOURCES=("[SOURCE1] [SOURCE2]")
|
|
TARGET="[DESTINATION]"
|
|
|
|
GOTIFY_SERVER="[SERVERURL]"
|
|
GOTIFY_TOKEN="[TOKEN]"
|
|
LOGFILE="rsync.log"
|
|
|
|
rm $LOGFILE
|
|
|
|
# Perform the backup using rsync
|
|
rsync -av --exclude '@eaDir' \
|
|
--no-perms \
|
|
--no-group \
|
|
--no-owner \
|
|
--inplace \
|
|
--exclude=[#]recycle \
|
|
--log-file=$LOGFILE \
|
|
--log-file-format="File changed! %f %i" \
|
|
$SOURCES $TARGET
|
|
RESULT=$?
|
|
|
|
if [[ $RESULT -gt 0 ]]
|
|
then
|
|
SUBJECT="ERROR - Rsync Report"
|
|
PRIORITY="10"
|
|
else
|
|
SUBJECT="SUCCESS - Rsync Report"
|
|
PRIORITY="1"
|
|
fi
|
|
|
|
# Send the notification
|
|
INTRO=$'The last three lines of the log are as follows:\n'
|
|
MESSAGE="$(tail -n 3 $LOGFILE)"
|
|
curl "$GOTIFY_SERVER/message?token=$GOTIFY_TOKEN" -F "title=$SUBJECT" -F "message=$INTRO $MESSAGE" -F "priority=$PRIORITY" |