Target rebuild
This commit is contained in:
parent
021b354929
commit
2de50b413c
|
@ -4,7 +4,7 @@ PROGRAM="osync" # Rsync based two way sync engine with fault tolerance
|
|||
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
||||
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
||||
PROGRAM_VERSION=1.1.1
|
||||
PROGRAM_BUILD=2016080106
|
||||
PROGRAM_BUILD=2016080108
|
||||
IS_STABLE=yes
|
||||
|
||||
## FUNC_BUILD=2016071902
|
||||
|
@ -1375,13 +1375,23 @@ function CheckCurrentConfig {
|
|||
###### Osync specific functions (non shared)
|
||||
|
||||
function _CreateStateDirsLocal {
|
||||
local replica_state_dir="${1}"
|
||||
__CheckArguments 1 $# ${FUNCNAME[0]} "$@" #__WITH_PARANOIA_DEBUG
|
||||
local backup_dir="${1}"
|
||||
local delete_dir="${2}"
|
||||
__CheckArguments 2 $# ${FUNCNAME[0]} "$@" #__WITH_PARANOIA_DEBUG
|
||||
|
||||
if ! [ -d "$replica_state_dir" ]; then
|
||||
$COMMAND_SUDO mkdir -p "$replica_state_dir" > "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID" 2>&1
|
||||
if ! [ -d "$backup_dir" ]; then
|
||||
$COMMAND_SUDO mkdir -p "$backup_dir" > "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID" 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
Logger "Cannot create state dir [$replica_state_dir]." "CRITICAL"
|
||||
Logger "Cannot create state dir [$backup_dir]." "CRITICAL"
|
||||
Logger "Command output:\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID)" "ERROR"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! [ -d "$delete_dir" ]; then
|
||||
$COMMAND_SUDO mkdir -p "$delete_dir" > "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID" 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
Logger "Cannot create state dir [$delete_dir]." "CRITICAL"
|
||||
Logger "Command output:\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID)" "ERROR"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -1389,34 +1399,45 @@ function _CreateStateDirsLocal {
|
|||
}
|
||||
|
||||
function _CreateStateDirsRemote {
|
||||
local replica_state_dir="${1}"
|
||||
__CheckArguments 1 $# ${FUNCNAME[0]} "$@" #__WITH_PARANOIA_DEBUG
|
||||
local backup_dir="${1}"
|
||||
local delete_dir="${2}"
|
||||
__CheckArguments 2 $# ${FUNCNAME[0]} "$@" #__WITH_PARANOIA_DEBUG
|
||||
|
||||
local cmd=
|
||||
|
||||
CheckConnectivity3rdPartyHosts
|
||||
CheckConnectivityRemoteHost
|
||||
|
||||
cmd=$SSH_CMD' "if ! [ -d \"'$replica_state_dir'\" ]; then '$COMMAND_SUDO' mkdir -p \"'$replica_state_dir'\"; fi" > "'$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID'" 2>&1'
|
||||
cmd=$SSH_CMD' "if ! [ -d \"'$backup_dir'\" ]; then '$COMMAND_SUDO' mkdir -p \"'$backup_dir'\"; fi" > "'$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID'" 2>&1'
|
||||
Logger "cmd: $cmd" "DEBUG"
|
||||
eval "$cmd" &
|
||||
WaitForTaskCompletion $! 720 1800 ${FUNCNAME[0]}
|
||||
if [ $? != 0 ]; then
|
||||
Logger "Cannot create remote state dir [$replica_state_dir]." "CRITICAL"
|
||||
Logger "Cannot create remote state dir [$backup_dir]." "CRITICAL"
|
||||
Logger "Command output:\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID)" "ERROR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cmd=$SSH_CMD' "if ! [ -d \"'$delete_dir'\" ]; then '$COMMAND_SUDO' mkdir -p \"'$delete_dir'\"; fi" > "'$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID'" 2>&1'
|
||||
Logger "cmd: $cmd" "DEBUG"
|
||||
eval "$cmd" &
|
||||
WaitForTaskCompletion $! 720 1800 ${FUNCNAME[0]}
|
||||
if [ $? != 0 ]; then
|
||||
Logger "Cannot create remote state dir [$delete_dir]." "CRITICAL"
|
||||
Logger "Command output:\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID)" "ERROR"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
#TODO: also create deleted and backup dirs
|
||||
# Merge with CheckReplicaPaths ?
|
||||
function CreateStateDirs {
|
||||
__CheckArguments 0 $# ${FUNCNAME[0]} "$@" #__WITH_PARANOIA_DEBUG
|
||||
|
||||
_CreateStateDirsLocal "${INITIATOR[1]}${INITIATOR[3]}"
|
||||
_CreateStateDirsLocal "${INITIATOR[1]}${INITIATOR[4]}" "${INITIATOR[1]}${INITIATOR[5]}"
|
||||
if [ "$REMOTE_OPERATION" != "yes" ]; then
|
||||
_CreateStateDirsLocal "${TARGET[1]}${TARGET[3]}"
|
||||
_CreateStateDirsLocal "${TARGET[1]}${TARGET[4]}" "${TARGET[1]}${TARGET[5]}"
|
||||
else
|
||||
_CreateStateDirsRemote "${TARGET[1]}${TARGET[3]}"
|
||||
_CreateStateDirsRemote "${TARGET[1]}${TARGET[4]}" "${TARGET[1]}${TARGET[5]}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -2656,6 +2677,7 @@ function Init {
|
|||
#${REPLICA[8]} contains full resume count file path
|
||||
|
||||
# Local variables used for state filenames
|
||||
|
||||
local lock_filename="lock"
|
||||
local state_dir="state"
|
||||
local backup_dir="backup"
|
||||
|
@ -2752,6 +2774,7 @@ function Init {
|
|||
function Main {
|
||||
__CheckArguments 0 $# ${FUNCNAME[0]} "$@" #__WITH_PARANOIA_DEBUG
|
||||
|
||||
#TODO: Check replicas and Create StateDirs should be the same functions
|
||||
CreateStateDirs
|
||||
CheckLocks
|
||||
Sync
|
||||
|
|
47
osync.sh
47
osync.sh
|
@ -4,7 +4,7 @@ PROGRAM="osync" # Rsync based two way sync engine with fault tolerance
|
|||
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
||||
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
||||
PROGRAM_VERSION=1.1.1
|
||||
PROGRAM_BUILD=2016080106
|
||||
PROGRAM_BUILD=2016080108
|
||||
IS_STABLE=yes
|
||||
|
||||
## FUNC_BUILD=2016071902
|
||||
|
@ -1299,12 +1299,22 @@ function CheckCurrentConfig {
|
|||
###### Osync specific functions (non shared)
|
||||
|
||||
function _CreateStateDirsLocal {
|
||||
local replica_state_dir="${1}"
|
||||
local backup_dir="${1}"
|
||||
local delete_dir="${2}"
|
||||
|
||||
if ! [ -d "$replica_state_dir" ]; then
|
||||
$COMMAND_SUDO mkdir -p "$replica_state_dir" > "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID" 2>&1
|
||||
if ! [ -d "$backup_dir" ]; then
|
||||
$COMMAND_SUDO mkdir -p "$backup_dir" > "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID" 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
Logger "Cannot create state dir [$replica_state_dir]." "CRITICAL"
|
||||
Logger "Cannot create state dir [$backup_dir]." "CRITICAL"
|
||||
Logger "Command output:\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID)" "ERROR"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! [ -d "$delete_dir" ]; then
|
||||
$COMMAND_SUDO mkdir -p "$delete_dir" > "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID" 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
Logger "Cannot create state dir [$delete_dir]." "CRITICAL"
|
||||
Logger "Command output:\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID)" "ERROR"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -1312,32 +1322,43 @@ function _CreateStateDirsLocal {
|
|||
}
|
||||
|
||||
function _CreateStateDirsRemote {
|
||||
local replica_state_dir="${1}"
|
||||
local backup_dir="${1}"
|
||||
local delete_dir="${2}"
|
||||
|
||||
local cmd=
|
||||
|
||||
CheckConnectivity3rdPartyHosts
|
||||
CheckConnectivityRemoteHost
|
||||
|
||||
cmd=$SSH_CMD' "if ! [ -d \"'$replica_state_dir'\" ]; then '$COMMAND_SUDO' mkdir -p \"'$replica_state_dir'\"; fi" > "'$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID'" 2>&1'
|
||||
cmd=$SSH_CMD' "if ! [ -d \"'$backup_dir'\" ]; then '$COMMAND_SUDO' mkdir -p \"'$backup_dir'\"; fi" > "'$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID'" 2>&1'
|
||||
Logger "cmd: $cmd" "DEBUG"
|
||||
eval "$cmd" &
|
||||
WaitForTaskCompletion $! 720 1800 ${FUNCNAME[0]}
|
||||
if [ $? != 0 ]; then
|
||||
Logger "Cannot create remote state dir [$replica_state_dir]." "CRITICAL"
|
||||
Logger "Cannot create remote state dir [$backup_dir]." "CRITICAL"
|
||||
Logger "Command output:\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID)" "ERROR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cmd=$SSH_CMD' "if ! [ -d \"'$delete_dir'\" ]; then '$COMMAND_SUDO' mkdir -p \"'$delete_dir'\"; fi" > "'$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID'" 2>&1'
|
||||
Logger "cmd: $cmd" "DEBUG"
|
||||
eval "$cmd" &
|
||||
WaitForTaskCompletion $! 720 1800 ${FUNCNAME[0]}
|
||||
if [ $? != 0 ]; then
|
||||
Logger "Cannot create remote state dir [$delete_dir]." "CRITICAL"
|
||||
Logger "Command output:\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID)" "ERROR"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
#TODO: also create deleted and backup dirs
|
||||
# Merge with CheckReplicaPaths ?
|
||||
function CreateStateDirs {
|
||||
|
||||
_CreateStateDirsLocal "${INITIATOR[1]}${INITIATOR[3]}"
|
||||
_CreateStateDirsLocal "${INITIATOR[1]}${INITIATOR[4]}" "${INITIATOR[1]}${INITIATOR[5]}"
|
||||
if [ "$REMOTE_OPERATION" != "yes" ]; then
|
||||
_CreateStateDirsLocal "${TARGET[1]}${TARGET[3]}"
|
||||
_CreateStateDirsLocal "${TARGET[1]}${TARGET[4]}" "${TARGET[1]}${TARGET[5]}"
|
||||
else
|
||||
_CreateStateDirsRemote "${TARGET[1]}${TARGET[3]}"
|
||||
_CreateStateDirsRemote "${TARGET[1]}${TARGET[4]}" "${TARGET[1]}${TARGET[5]}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -2548,6 +2569,7 @@ function Init {
|
|||
#${REPLICA[8]} contains full resume count file path
|
||||
|
||||
# Local variables used for state filenames
|
||||
|
||||
local lock_filename="lock"
|
||||
local state_dir="state"
|
||||
local backup_dir="backup"
|
||||
|
@ -2643,6 +2665,7 @@ function Init {
|
|||
|
||||
function Main {
|
||||
|
||||
#TODO: Check replicas and Create StateDirs should be the same functions
|
||||
CreateStateDirs
|
||||
CheckLocks
|
||||
Sync
|
||||
|
|
Loading…
Reference in New Issue