mirror of
https://github.com/deajan/obackup.git
synced 2026-02-10 17:10:55 +01:00
Minor adapts from osync
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
FUNC_BUILD=2015113001
|
||||
FUNC_BUILD=2016021604
|
||||
## BEGIN Generic functions for osync & obackup written in 2013-2015 by Orsiris de Jong - http://www.netpower.fr - ozy@netpower.fr
|
||||
|
||||
## type -p does not work on platforms other than linux (bash). If if does not work, always assume output is not a zero exitcode
|
||||
@@ -249,6 +249,12 @@ function SendAlert {
|
||||
# </OSYNC SPECIFIC>
|
||||
|
||||
eval "cat \"$LOG_FILE\" $COMPRESSION_PROGRAM > $ALERT_LOG_FILE"
|
||||
if [ $? != 0 ]; then
|
||||
Logger "Cannot create [$ALERT_LOG_FILE]" "WARN"
|
||||
mail_no_attachment=1
|
||||
else
|
||||
mail_no_attachment=0
|
||||
fi
|
||||
MAIL_ALERT_MSG="$MAIL_ALERT_MSG"$'\n\n'$(tail -n 50 "$LOG_FILE")
|
||||
if [ $ERROR_ALERT -eq 1 ]; then
|
||||
subject="Error alert for $INSTANCE_ID"
|
||||
@@ -258,8 +264,11 @@ function SendAlert {
|
||||
subject="Alert for $INSTANCE_ID"
|
||||
fi
|
||||
|
||||
if [ mail_no_attachment -eq 0 ]; then
|
||||
attachment_command="-a $ALERT_LOG_FILE"
|
||||
fi
|
||||
if type mutt > /dev/null 2>&1 ; then
|
||||
echo "$MAIL_ALERT_MSG" | $(type -p mutt) -x -s "$subject" $DESTINATION_MAILS -a "$ALERT_LOG_FILE"
|
||||
echo "$MAIL_ALERT_MSG" | $(type -p mutt) -x -s "$subject" $DESTINATION_MAILS $attachment_command
|
||||
if [ $? != 0 ]; then
|
||||
Logger "WARNING: Cannot send alert email via $(type -p mutt) !!!" "WARN"
|
||||
else
|
||||
@@ -269,7 +278,14 @@ function SendAlert {
|
||||
fi
|
||||
|
||||
if type mail > /dev/null 2>&1 ; then
|
||||
echo "$MAIL_ALERT_MSG" | $(type -p mail) -a "$ALERT_LOG_FILE" -s "$subject" $DESTINATION_MAILS
|
||||
if [ $mail_no_attachment -eq 0 ] && $(type -p mail) -V | grep "GNU" > /dev/null; then
|
||||
attachment_command="-A $ALERT_LOG_FILE"
|
||||
elif [ $mail_no_attachment -eq 0 ] && $(type -p mail) -V > /dev/null; then
|
||||
attachment_command="-a $ALERT_LOG_FILE"
|
||||
else
|
||||
attachment_command=""
|
||||
fi
|
||||
echo "$MAIL_ALERT_MSG" | $(type -p mail) $attachment_command -s "$subject" $DESTINATION_MAILS
|
||||
if [ $? != 0 ]; then
|
||||
Logger "WARNING: Cannot send alert email via $(type -p mail) with attachments !!!" "WARN"
|
||||
echo "$MAIL_ALERT_MSG" | $(type -p mail) -s "$subject" $DESTINATION_MAILS
|
||||
@@ -311,7 +327,7 @@ function SendAlert {
|
||||
fi
|
||||
|
||||
# If function has not returned 0 yet, assume it's critical that no alert can be sent
|
||||
Logger "/!\ CRITICAL: Cannot send alert" "ERROR" # Is not marked critical because execution must continue
|
||||
Logger "/!\ CRITICAL: Cannot send alert (neither mutt, mail, sendmail nor sendemail found)." "ERROR" # Is not marked critical because execution must continue
|
||||
|
||||
# Delete tmp log file
|
||||
if [ -f "$ALERT_LOG_FILE" ]; then
|
||||
@@ -775,13 +791,14 @@ function PreInit {
|
||||
fi
|
||||
|
||||
## Set rsync default arguments
|
||||
RSYNC_ARGS="-rlptgoD"
|
||||
RSYNC_ARGS="-rltD"
|
||||
RSYNC_ATTR_ARGS="-pgo"
|
||||
|
||||
if [ "$PRESERVE_ACL" == "yes" ]; then
|
||||
RSYNC_ARGS=$RSYNC_ARGS" -A"
|
||||
RSYNC_ATTR_ARGS=$RSYNC_ATTR_ARGS" -A"
|
||||
fi
|
||||
if [ "$PRESERVE_XATTR" == "yes" ]; then
|
||||
RSYNC_ARGS=$RSYNC_ARGS" -X"
|
||||
RSYNC_ATTR_ARGS=$RSYNC_ATTR_ARGS" -X"
|
||||
fi
|
||||
if [ "$RSYNC_COMPRESS" == "yes" ]; then
|
||||
RSYNC_ARGS=$RSYNC_ARGS" -z"
|
||||
@@ -796,7 +813,7 @@ function PreInit {
|
||||
RSYNC_ARGS=$RSYNC_ARGS" -H"
|
||||
fi
|
||||
if [ "$CHECKSUM" == "yes" ]; then
|
||||
RSYNC_ARGS=$RSYNC_ARGS" --checksum"
|
||||
RSYNC_TYPE_ARGS=$RSYNC_TYPE_ARGS" --checksum"
|
||||
fi
|
||||
if [ $_DRYRUN -eq 1 ]; then
|
||||
RSYNC_ARGS=$RSYNC_ARGS" -n"
|
||||
@@ -806,6 +823,17 @@ function PreInit {
|
||||
RSYNC_ARGS=$RSYNC_ARGS" --bwlimit=$BANDWIDTH"
|
||||
fi
|
||||
|
||||
if [ "$PARTIAL" == "yes" ]; then
|
||||
RSYNC_ARGS=$RSYNC_ARGS" --partial --partial-dir=\"$PARTIAL_DIR\""
|
||||
RSYNC_PARTIAL_EXCLUDE="--exclude=\"$PARTIAL_DIR\""
|
||||
fi
|
||||
|
||||
if [ "$DELTA_COPIES" != "no" ]; then
|
||||
RSYNC_ARGS=$RSYNC_ARGS" --no-whole-file"
|
||||
else
|
||||
RSYNC_ARGS=$RSYNC_ARGS" --whole-file"
|
||||
fi
|
||||
|
||||
## Set compression executable and extension
|
||||
COMPRESSION_LEVEL=3
|
||||
if type xz > /dev/null 2>&1
|
||||
@@ -875,7 +903,7 @@ function InitRemoteOSSettings {
|
||||
|
||||
## MacOSX does not use the -E parameter like Linux or BSD does (-E is mapped to extended attrs instead of preserve executability)
|
||||
if [ "$LOCAL_OS" != "MacOSX" ] && [ "$REMOTE_OS" != "MacOSX" ]; then
|
||||
RSYNC_ARGS=$RSYNC_ARGS" -E"
|
||||
RSYNC_ATTR_ARGS=$RSYNC_ATTR_ARGS" -E"
|
||||
fi
|
||||
|
||||
if [ "$REMOTE_OS" == "msys" ]; then
|
||||
|
||||
Reference in New Issue
Block a user