mirror of
https://github.com/namibia/demo-sync.git
synced 2024-11-24 12:17:34 +00:00
started adding the sync methods
This commit is contained in:
parent
af466a23b5
commit
075f2d5bd3
91
sync.sh
91
sync.sh
@ -55,6 +55,38 @@ function main () {
|
|||||||
runSetup 1 "${DBPATH}"
|
runSetup 1 "${DBPATH}"
|
||||||
## check if sync folders are setup
|
## check if sync folders are setup
|
||||||
runSetup 2 "${FOLDERPATH}"
|
runSetup 2 "${FOLDERPATH}"
|
||||||
|
## sync databases if available
|
||||||
|
runSync 1 "${DBPATH}"
|
||||||
|
## sync folders if available
|
||||||
|
runSync 2 "${FOLDERPATH}"
|
||||||
|
}
|
||||||
|
|
||||||
|
### MAIN SETUP ###
|
||||||
|
function runSetup () {
|
||||||
|
# check if already set
|
||||||
|
if [ ! -f "$2" ]; then
|
||||||
|
# if setup database
|
||||||
|
if [ "$1" -eq "1" ]; then
|
||||||
|
getSyncDBs "$2"
|
||||||
|
# if setup folders
|
||||||
|
elif [ "$1" -eq "2" ]; then
|
||||||
|
getSyncFolders "$2"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
### MAIN SYNC ###
|
||||||
|
function runSync () {
|
||||||
|
# check if already set
|
||||||
|
if [ -f "$2" ]; then
|
||||||
|
# if setup database
|
||||||
|
if [ "$1" -eq "1" ]; then
|
||||||
|
syncDBs "$2"
|
||||||
|
# if setup folders
|
||||||
|
elif [ "$1" -eq "2" ]; then
|
||||||
|
syncFolders "$2"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
##############################################################
|
##############################################################
|
||||||
@ -97,7 +129,7 @@ function setCron () {
|
|||||||
# check if user crontab is set
|
# check if user crontab is set
|
||||||
currentCron=$(crontab -u $CLIENTUSER -l 2>/dev/null)
|
currentCron=$(crontab -u $CLIENTUSER -l 2>/dev/null)
|
||||||
if [[ -z "${currentCron// }" ]]; then
|
if [[ -z "${currentCron// }" ]]; then
|
||||||
currentCron="# SENTINEL crontab settings"
|
currentCron="# SYNC WEBSITES crontab settings"
|
||||||
echo "$currentCron" > "${CRONPATH}"
|
echo "$currentCron" > "${CRONPATH}"
|
||||||
else
|
else
|
||||||
echo "$currentCron" > "${CRONPATH}"
|
echo "$currentCron" > "${CRONPATH}"
|
||||||
@ -117,11 +149,6 @@ function setCron () {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
### run the sync websites method ###
|
|
||||||
function syncWebsites () {
|
|
||||||
echo -ne "\n soon..................\n"
|
|
||||||
}
|
|
||||||
|
|
||||||
### setup sync databases file ###
|
### setup sync databases file ###
|
||||||
function getSyncDBs () {
|
function getSyncDBs () {
|
||||||
# start building the database details
|
# start building the database details
|
||||||
@ -302,18 +329,46 @@ function getSyncFolders () {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
### MAIN SETUP ###
|
### sync databases ###
|
||||||
function runSetup () {
|
function syncDBs (){
|
||||||
# check if already set
|
while IFS=$'\t' read -r -a databases
|
||||||
if [ ! -f "$2" ]; then
|
do
|
||||||
# if setup database
|
[[ "$databases" =~ ^#.*$ ]] && continue
|
||||||
if [ "$1" -eq "1" ]; then
|
# SOURCE_DBSERVER SOURCE_DATABASE SOURCE_USER SOURCE_PASS TARGET_DBSERVER TARGET_DATABASE TARGET_USER TARGET_PASS
|
||||||
getSyncDBs "$2"
|
syncDB "${databases[0]}" "${databases[1]}" "${databases[3]}" "${databases[4]}" "${databases[5]}" "${databases[6]}" "${databases[7]}" "${databases[8]}"
|
||||||
# if setup folders
|
done < $1
|
||||||
elif [ "$1" -eq "2" ]; then
|
}
|
||||||
getSyncFolders "$2"
|
|
||||||
fi
|
### sync database ###
|
||||||
fi
|
function syncDB (){
|
||||||
|
local source_server="$1"
|
||||||
|
local source_db="$2"
|
||||||
|
local source_user="$3"
|
||||||
|
local source_pass="$4"
|
||||||
|
local target_server="$5"
|
||||||
|
local target_db="$6"
|
||||||
|
local target_user="$7"
|
||||||
|
local target_pass="$8"
|
||||||
|
|
||||||
|
echo "${source_server}" "${source_db}" "${source_user}" "${source_pass}" "${target_server}" "${target_db}" "${target_user}" "${target_pass}"
|
||||||
|
}
|
||||||
|
|
||||||
|
### sync folders ###
|
||||||
|
function syncFolders (){
|
||||||
|
while IFS=$'\t' read -r -a folders
|
||||||
|
do
|
||||||
|
[[ "$folders" =~ ^#.*$ ]] && continue
|
||||||
|
# SOURCE_PATH TARGET_PATH
|
||||||
|
syncFolder "${folders[0]}" "${folders[1]}"
|
||||||
|
done < $1
|
||||||
|
}
|
||||||
|
|
||||||
|
### sync folder ###
|
||||||
|
function syncFolder (){
|
||||||
|
local source_folder="$1"
|
||||||
|
local target_folder="$2"
|
||||||
|
|
||||||
|
echo "${source_folder}" "${target_folder}"
|
||||||
}
|
}
|
||||||
|
|
||||||
##############################################################
|
##############################################################
|
||||||
|
Loading…
Reference in New Issue
Block a user