restore-website-from-backup.sh: add time durations for removing/restoring webspace and database.
This commit is contained in:
parent
fcc08699e7
commit
976f2ebb5c
@ -9,6 +9,12 @@ log_file="$(mktemp)"
|
|||||||
|
|
||||||
backup_date=$(date +%Y-%m-%d-%H%M)
|
backup_date=$(date +%Y-%m-%d-%H%M)
|
||||||
|
|
||||||
|
# =============
|
||||||
|
# --- Some Variable
|
||||||
|
# =============
|
||||||
|
|
||||||
|
right_tabstop=75
|
||||||
|
|
||||||
|
|
||||||
# =============
|
# =============
|
||||||
# --- Some functions
|
# --- Some functions
|
||||||
@ -116,27 +122,27 @@ echononl(){
|
|||||||
}
|
}
|
||||||
echo_done() {
|
echo_done() {
|
||||||
if $terminal ; then
|
if $terminal ; then
|
||||||
echo -e "\033[75G[ \033[32mdone\033[m ]"
|
echo -e "\033[${right_tabstop}G[ \033[32mdone\033[m ]"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
echo_ok() {
|
echo_ok() {
|
||||||
if $terminal ; then
|
if $terminal ; then
|
||||||
echo -e "\033[75G[ \033[32mok\033[m ]"
|
echo -e "\033[${right_tabstop}G[ \033[32mok\033[m ]"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
echo_warning() {
|
echo_warning() {
|
||||||
if $terminal ; then
|
if $terminal ; then
|
||||||
echo -e "\033[75G[ \033[33m\033[1mwarn\033[m ]"
|
echo -e "\033[${right_tabstop}G[ \033[33m\033[1mwarn\033[m ]"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
echo_failed(){
|
echo_failed(){
|
||||||
if $terminal ; then
|
if $terminal ; then
|
||||||
echo -e "\033[75G[ \033[1;31mfailed\033[m ]"
|
echo -e "\033[${right_tabstop}G[ \033[1;31mfailed\033[m ]"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
echo_skipped() {
|
echo_skipped() {
|
||||||
if $terminal ; then
|
if $terminal ; then
|
||||||
echo -e "\033[75G[ \033[37mskipped\033[m ]"
|
echo -e "\033[${right_tabstop}G[ \033[37mskipped\033[m ]"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,6 +187,62 @@ info (){
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
time_duration () {
|
||||||
|
|
||||||
|
local __begin=$1
|
||||||
|
local __end=$2
|
||||||
|
|
||||||
|
local __duration
|
||||||
|
|
||||||
|
if [[ "$__begin" ]] && [[ "$__end" ]] ; then
|
||||||
|
|
||||||
|
local __duration
|
||||||
|
|
||||||
|
local __time=`expr $__end - $__begin`
|
||||||
|
local __t_h=`expr $__time / 60 / 60`
|
||||||
|
local __t_rest_h=`expr $__time - $__t_h \\* 60 \\* 60`
|
||||||
|
local __t_m=`expr $__t_rest_h / 60`
|
||||||
|
local __t_s=`expr $__t_rest_h - $__t_m \\* 60`
|
||||||
|
|
||||||
|
if [[ $__t_h -gt 0 ]]; then
|
||||||
|
if [[ $__t_h -lt 10 ]] ; then
|
||||||
|
echo " $__t_h h : $__t_m min : $__t_s sec"
|
||||||
|
else
|
||||||
|
echo "$__t_h h : $__t_m min : $__t_s sec"
|
||||||
|
fi
|
||||||
|
elif [[ $__t_m -gt 0 ]]; then
|
||||||
|
if [[ $__t_m -lt 10 ]] ; then
|
||||||
|
echo " $__t_m min : $__t_s sec"
|
||||||
|
else
|
||||||
|
echo "$__t_m min : $__t_s sec"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [[ $__t_s -lt 10 ]] ; then
|
||||||
|
echo " $__t_s sec"
|
||||||
|
else
|
||||||
|
echo "$__t_s sec"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "N/A"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
echo_duration () {
|
||||||
|
|
||||||
|
local __time_duration=${1}
|
||||||
|
local __length=${#__time_duration}
|
||||||
|
|
||||||
|
# print duratuion inside inside square brackets "[ duration ]" with blank delimiter,
|
||||||
|
# so add reduce tabstop by 4 characters
|
||||||
|
#
|
||||||
|
__tabstop=`expr ${right_tabstop} - ${__length} - 1 - 4`
|
||||||
|
echo -en "\033[${__tabstop}G[ \033[33m${__time_duration}\033[m ]"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
## - Check if a given array (parameter 2) contains a given string (parameter 1)
|
## - Check if a given array (parameter 2) contains a given string (parameter 1)
|
||||||
## -
|
## -
|
||||||
containsElement () {
|
containsElement () {
|
||||||
@ -790,25 +852,63 @@ if $terminal ; then
|
|||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echononl " Remove Documentroot Directory if exists .."
|
||||||
|
if [[ -d "${LOCAL_WEBSITE_BASE_DIR}/$(basename "$RESTORE_DIR")" ]] ; then
|
||||||
|
b_timestamp=$(date +"%s")
|
||||||
|
rm -rf "${LOCAL_WEBSITE_BASE_DIR}/$(basename "$RESTORE_DIR")" > $log_file 2>&1
|
||||||
|
retval=$?
|
||||||
|
e_timestamp=$(date +"%s")
|
||||||
|
echo_duration "$(time_duration $b_timestamp $e_timestamp)"
|
||||||
|
if [[ $retval -eq 0 ]]; then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
fatal "$(cat $log_file)"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo_skipped
|
||||||
|
fi
|
||||||
|
|
||||||
echononl " Restore Database '${DATABASE_NAME}'.."
|
echononl " Restore Database '${DATABASE_NAME}'.."
|
||||||
|
b_timestamp=$(date +"%s")
|
||||||
mysql $MYSQL_CREDENTIAL_ARGS $DATABASE_NAME < $SQL_FILE > $log_file 2>&1
|
mysql $MYSQL_CREDENTIAL_ARGS $DATABASE_NAME < $SQL_FILE > $log_file 2>&1
|
||||||
if [[ $? -eq 0 ]]; then
|
retval=$?
|
||||||
|
e_timestamp=$(date +"%s")
|
||||||
|
echo_duration "$(time_duration $b_timestamp $e_timestamp)"
|
||||||
|
if [[ $retval -eq 0 ]]; then
|
||||||
echo_ok
|
echo_ok
|
||||||
else
|
else
|
||||||
echo_failed
|
echo_failed
|
||||||
fatal "$(cat $log_file)"
|
fatal "$(cat $log_file)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echononl " Sync Webspace - site '${WEBSITE}' from '${BACKUP_DATE}'.."
|
echononl " Sync Webspace - site '${WEBSITE}'.."
|
||||||
rsync -a --delete "$RESTORE_DIR" "${LOCAL_WEBSITE_BASE_DIR}/" > $log_file 2>&1
|
|
||||||
if [[ $? -eq 0 ]]; then
|
# Begin timestamp
|
||||||
|
#
|
||||||
|
b_timestamp=$(date +"%s")
|
||||||
|
cp -ral "$RESTORE_DIR" "${LOCAL_WEBSITE_BASE_DIR}/" > $log_file 2>&1
|
||||||
|
#rsync -a --delete --link-dest="$RESTORE_DIR" "$RESTORE_DIR" "${LOCAL_WEBSITE_BASE_DIR}/" > $log_file 2>&1
|
||||||
|
retval=$?
|
||||||
|
# End timestamp
|
||||||
|
#
|
||||||
|
e_timestamp=$(date +"%s")
|
||||||
|
|
||||||
|
duration=$(time_duration $b_timestamp $e_timestamp)
|
||||||
|
echo_duration "$duration"
|
||||||
|
|
||||||
|
if [[ $retval -eq 0 ]]; then
|
||||||
echo_ok
|
echo_ok
|
||||||
else
|
else
|
||||||
echo_failed
|
echo_failed
|
||||||
echo -e "\n rsync -a --delete \"$RESTORE_DIR\" \"${LOCAL_WEBSITE_BASE_DIR}/\""
|
#echo -e "\n rsync -a --delete \"$RESTORE_DIR\" \"${LOCAL_WEBSITE_BASE_DIR}/\""
|
||||||
|
echo -e "\n cp -ral \"$RESTORE_DIR\" \"${LOCAL_WEBSITE_BASE_DIR}/\""
|
||||||
fatal "$(cat $log_file)"
|
fatal "$(cat $log_file)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
if $IS_NEXTCLOUD ; then
|
if $IS_NEXTCLOUD ; then
|
||||||
echononl " Set maintanance mod on site '${WEBSITE}' to 'off'.."
|
echononl " Set maintanance mod on site '${WEBSITE}' to 'off'.."
|
||||||
if [[ -f "${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}/htdocs/config/config.php" ]] ; then
|
if [[ -f "${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}/htdocs/config/config.php" ]] ; then
|
||||||
@ -829,15 +929,21 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
echononl " Set Permissons on local website directory\n '${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}'.."
|
echononl " Set Permissons on local website directory\n '${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}'.."
|
||||||
chown "$HTTP_USER":"$HTTP_GROUP" "${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}" > $log_file 2>&1
|
if [[ -d "${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}" ]] ; then
|
||||||
if [[ $? -eq 0 ]]; then
|
chown "$HTTP_USER":"$HTTP_GROUP" "${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}" > $log_file 2>&1
|
||||||
echo_ok
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
echo -e "\n chown \"$HTTP_USER\":\"$HTTP_GROUP\" \"${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}\""
|
||||||
|
error "$(cat $log_file)"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo_failed
|
echo_skipped
|
||||||
echo -e "\n chown \"$HTTP_USER\":\"$HTTP_GROUP\" \"${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}\""
|
|
||||||
error "$(cat $log_file)"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
echononl " Copy info file 'BACKUP-DATE' to Documentroot.."
|
echononl " Copy info file 'BACKUP-DATE' to Documentroot.."
|
||||||
if [[ -d "${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}" ]]; then
|
if [[ -d "${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}" ]]; then
|
||||||
echo "${BACKUP_DATE}" > "${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}/BACKUP-DATE" 2> $log_file
|
echo "${BACKUP_DATE}" > "${LOCAL_WEBSITE_BASE_DIR}/${WEBSITE}/BACKUP-DATE" 2> $log_file
|
||||||
|
Loading…
Reference in New Issue
Block a user