diff --git a/dev/n_osync.sh b/dev/n_osync.sh index 1746688..7578e10 100644 --- a/dev/n_osync.sh +++ b/dev/n_osync.sh @@ -6,8 +6,8 @@ PROGRAM="osync" # Rsync based two way sync engine with fault tolerance AUTHOR="(C) 2013-2018 by Orsiris de Jong" CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr" -PROGRAM_VERSION=1.3.0-beta1 -PROGRAM_BUILD=2018101801 +PROGRAM_VERSION=1.3.0-pre-rc1 +PROGRAM_BUILD=2018122101 IS_STABLE=no ##### Execution order #__WITH_PARANOIA_DEBUG @@ -2307,7 +2307,7 @@ function _TriggerInitiatorRunLocal { Logger "Cannot fin initiator replica dir [$dirname ("$PUSH_FILE")]." "ERROR" return 1 fi -} +} function _TriggerInitiatorRunRemote { __CheckArguments 0 $# "$@" #__WITH_PARANOIA_DEBUG @@ -2387,7 +2387,7 @@ function _SummaryFromDeleteFile { Logger "$direction $replicaPath$file" "ALWAYS" done < "$summaryFile" fi -} +} function Summary { __CheckArguments 0 $# "$@" #__WITH_PARANOIA_DEBUG @@ -2420,23 +2420,21 @@ function LogConflicts { local subject local body - # We keep this in a separate if check because of the subshell used for Logger with _LOGGER_PREFIX if [ -f "$RUN_DIR/$PROGRAM.conflictList.compare.$SCRIPT_PID.$TSTAMP" ]; then Logger "File conflicts: INITIATOR << >> TARGET" "ALWAYS" - fi - - - ( - _LOGGER_PREFIX="" - if [ -f "$RUN_DIR/$PROGRAM.conflictList.compare.$SCRIPT_PID.$TSTAMP" ]; then - echo "" > "${INITIATOR[$__replicaDir]}${INITIATOR[$__stateDir]}/${INITIATOR[$__conflictListFile]}" + > "${INITIATOR[$__replicaDir]}${INITIATOR[$__stateDir]}/${INITIATOR[$__conflictListFile]}" while read -r line; do echo "${INITIATOR[$__replicaDir]}$(echo $line | awk -F';' '{print $1}') << >> ${TARGET[$__replicaDir]}$(echo $line | awk -F';' '{print $1}')" >> "${INITIATOR[$__replicaDir]}${INITIATOR[$__stateDir]}/${INITIATOR[$__conflictListFile]}" done < "$RUN_DIR/$PROGRAM.conflictList.compare.$SCRIPT_PID.$TSTAMP" + ( + _LOGGER_PREFIX="" Logger "$(cat ${INITIATOR[$__replicaDir]}${INITIATOR[$__stateDir]}/${INITIATOR[$__conflictListFile]})" "ALWAYS" + ) + else + Logger "No conflictList file." "ERROR" fi - ) + if [ "$ALERT_CONFLICTS" == "yes" ] && [ -s "$RUN_DIR/$PROGRAM.conflictList.compare.$SCRIPT_PID.$TSTAMP" ]; then subject="Conflictual files found in [$INSTANCE_ID]" body="List of conflictual files:"$'\n'"$(cat ${INITIATOR[$__replicaDir]}${INITIATOR[$__stateDir]}/${INITIATOR[$__conflictListFile]})" @@ -2780,7 +2778,7 @@ function SyncOnChanges { fi watchDirectory="$TARGET_SYNC_DIR" Logger "#### Running $PROGRAM in target helper file monitor mode." "NOTICE" - fi + fi while true; do if [ $isTargetHelper == false ]; then @@ -2792,10 +2790,10 @@ function SyncOnChanges { fi else - # Notify initiator about target changes + # Notify initiator about target changes TriggerInitiatorRun fi - + Logger "#### Monitoring now." "NOTICE"