aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-mod/update/processUpdateScripts.sh
diff options
context:
space:
mode:
authorM.Gergo2018-07-09 01:22:31 +0200
committerM.Gergo2018-07-09 01:22:31 +0200
commit154fd5aaf8811c1e6f1cf276e023c44a07bf7adf (patch)
tree14c3d4942b39588b3332a6b81298df24986877e7 /mayor-mod/update/processUpdateScripts.sh
parentf6176eb91345dd95b7d447f62ff8f0b30c0fc6e9 (diff)
downloadmayor-154fd5aaf8811c1e6f1cf276e023c44a07bf7adf.tar.gz
mayor-154fd5aaf8811c1e6f1cf276e023c44a07bf7adf.zip
rev4332 Update hiba javítás, alapok
Diffstat (limited to 'mayor-mod/update/processUpdateScripts.sh')
-rw-r--r--mayor-mod/update/processUpdateScripts.sh267
1 files changed, 0 insertions, 267 deletions
diff --git a/mayor-mod/update/processUpdateScripts.sh b/mayor-mod/update/processUpdateScripts.sh
deleted file mode 100644
index 61ab5618..00000000
--- a/mayor-mod/update/processUpdateScripts.sh
+++ /dev/null
@@ -1,267 +0,0 @@
-#!/bin/bash
-
-source $BASEDIR/update/linkme.sh
-
-# Setting Mysql Connection Parameters
-echo -e "[mysqld]
-character-set-server = utf8
-collation-server = utf8_hungarian_ci
-[client]
-default-character-set=utf8
-host=$MYSQL_HOST
-user=$MYSQL_USER
-password=$MYSQL_PW
-" > $BASEDIR/config/my.cnf
-
-PRECHARSET="SET NAMES 'utf8' COLLATE 'utf8_hungarian_ci'; " ## fontos, hogy a ";" ott legyen a végén!!
-#PRECHARSET="$PRECHARSET SET collation_connection = utf8_hungarian_ci; " ## ha a mysql server esetleg régebbi lenne.
-
-MYSQL_CONFIG="--defaults-extra-file=$BASEDIR/config/my.cnf"
-MYSQL_PARAMETERS=""
-TEST=$($MYSQL -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW -e exit 2>&1 >/dev/null)
-if [ $? == "0" ]; then
- echo "SQL-connect test #2 OK"
- MYSQL_PARAMETERS="-h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW"
-else
- echo "Hibás SQL csatlakozás(2)"
-fi
-TEST=$($MYSQL $MYSQL_CONFIG -e exit 2>&1 >/dev/null)
-if [ $? == "0" ]; then
- echo "SQL-connect test #1 OK"
- MYSQL_PARAMETERS=$MYSQL_CONFIG
-else
- echo "Hibás SQL csatlakozás(1)"
-fi
-echo "Karakterkódolás ellenőrzése"
-echo "SHOW VARIABLES LIKE 'character%';" | $MYSQL $MYSQL_PARAMETERS
-# patch by Acsai Gabor <acsi@c3.hu> - FreeBSD
-# Kiegészítve: Miklós Gergő <gergo@bmrg.hu> - Baár-Madas
-# gondolatmenet:
-# A "default-character-set" beállítása után a "character_set_client" változóból 1db kell legyen, és értéke pontosan "utf8" kell legyen!
-### TEST=`echo "SHOW VARIABLES LIKE 'character_set_client'" | $MYSQL $MYSQL_PARAMETERS | grep utf8 | wc -l | tr -d " "`
-TEST=$(echo "SHOW VARIABLES LIKE '%character_set_client%'" | $MYSQL $MYSQL_PARAMETERS | tail -n+2 | cut -f 2)
-if [ "$TEST" == "utf8" ]; then
- echo "SQL-UTF8 test OK"
-else
- echo -e "\n\nERROR: Hibás - nem utf8 - MySQL kliens karakterkódolás!\n"
- echo -e "Ellenőrizd a beállításokat és kérj segítséget a support@mayor.hu -n!\n"
- exit 12
-fi
-# --
-
-run_script() {
- FILEELEJE=$(echo $FILE | cut -f 1 -d '-')
- FILEREV=${FILEELEJE: -6}
- LOGSQL=""
- if [ "$FILEREV" != "" ]; then
- if [ "$FILEREV" -gt 3399 ]; then
- LOGSQL="INSERT IGNORE mayorUpdateLog (scriptFile) VALUES ('${FILE}')"
- fi
- fi
- if [ ! "${FILEREV}" \< "${REVSTR}" ]; then
- FILEEXT=$(echo $FILE | cut -f 2 -d '.')
- if [ "$FILEEXT" == "sh" ]; then
- echo " - Szkript futtatása ($FILE)..."
- . $FILE
- if [ $? != 0 ]; then exit 13; fi
- elif [ "$FILEEXT" == "sql" ]; then
- echo " - SQL utasítások végrehajtása ($FILE)..."
- FILEDB=$(echo $FILE | cut -f 1 -d '.' | cut -f 3 -d '-')
- case "$FILEDB" in
- naplo)
- DBS=$DB_NAPLO
- ;;
- intezmeny)
- DBS=$DB_INTEZMENY
- ;;
- auth)
- DBS=$DB_AUTH
- ;;
- *)
- DBS=$FILEDB
- ;;
- esac
- for DB in $DBS; do
- echo -e "\n $DB..."
-
- if [ "$FILEREV" != "" ]; then
- if [ "$FILEREV" -gt 3399 ]; then
- TEST=$((echo $PRECHARSET && echo "SELECT count(*) as db FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DB}' and TABLE_NAME='mayorUpdateLog'") | $MYSQL $MYSQL_PARAMETERS $DB | grep -v "db")
- if [ "$TEST" == "0" ]; then
- echo " Hiányzik a mayorUpdateLog tábla... tovább..."
- continue
- fi
- fi
- fi
-
- case "$FILEDB" in
- naplo)
- INTEZMENYDB=$(echo $DB | sed -e 's/\(naplo_\)\(.*\)\(_.*\)/intezmeny_\2/')
- INTEZMENYROVIDNEV=$(echo $DB | cut -f 2 -d '_')
- TANEV=$(echo $DB | cut -f 3 -d '_')
- (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENYDB%/$INTEZMENYDB/g" | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | \
- sed -e "s/%TANEV%/$TANEV/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- auth)
- (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | sed -e "s/%MYSQL_ENCODE_STR%/$MYSQL_ENCODE_STR/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- intezmeny)
- INTEZMENYROVIDNEV=$(echo $DB | cut -f 2 -d '_')
- (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- *)
- (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- esac
- if [ $? != 0 ]; then
- exit 13;
- fi
- done
- [ ! -z $SQLLOG ] && echo $FILE >> $SQLLOG;
- fi
- fi
-}
-
-echo " Az új változat verziószáma: $UJ_REV"
-
-REVSTR=$(printf "%06d" $REV)
-MYSQL_ENCODE_STR=$(grep _MYSQL_ENCODE_STR $BASEDIR/config/main-config.php | sed -e "s/define('_MYSQL_ENCODE_STR','\(.*\)');/\\1/")
-
-# mysql host beállítása
-if [ "$MYSQL_HOST" == "" ]; then
- MYSQL_HOST="localhost"
-fi
-echo " A MySQL backend a következő lesz: $MYSQL_HOST"
-echo " Figyelem! MySQL Master-Slave architekturát az upgrade script jelenleg nem támogat!!!"
-
-echo -e "\n * Adatbázisok lekérdezése..."
-if [ -f $MYSQL ]
-then
- DB_MAYOR=$($MYSQL $MYSQL_PARAMETERS -e"$PRECHARSET SHOW DATABASES LIKE 'mayor\_%'" | grep -e '^mayor\_[^_]*$') ## ide elvileg nem kellene precharset, mert itt minden ASCCI/2
- DB_NAPLO=$($MYSQL $MYSQL_PARAMETERS -e"$PRECHARSET SHOW DATABASES LIKE 'naplo\_%\_%'" | grep -e '^naplo\_[^\_]*\_20[0-9][0-9]$')
- DB_INTEZMENY=$($MYSQL $MYSQL_PARAMETERS -e"$PRECHARSET SELECT CONCAT('intezmeny_',rovidNev) FROM mayor_naplo.intezmeny" | grep -e '^intezmeny\_[^\_]*$')
-# DB_INTEZMENY=`$MYSQL $MYSQL_PARAMETERS -e"SHOW DATABASES LIKE 'intezmeny\_%'" | grep -e '^intezmeny\_[^\_]*$'`
- if [ $? != 0 ]; then exit 12; fi
- DB_AUTH=""
- for DB in $DB_MAYOR; do
- if [ "$DB" == "mayor_parent" -o "$DB" == "mayor_private" -o "$DB" == "mayor_public" ]; then
- DB_AUTH="$DB_AUTH $DB"
- fi
- done
-else
- echo -e "\n\nERROR: A mysql kliens nem található: $MYSQL\n"
- exit 12
-fi
-
-if [ "$SKIPLOCK" != "1" ]; then
- if [ ! -z $LOCKFILE ]; then
- echo -e "\n * A web-es elérés letiltása:"
- echo -n " - Lock-file létrehozása... "
- echo "$DATE: Update process runing... " > $LOCKFILE
- echo "kész."
-
- echo -n " - Aktív munkamenetek törlése... "
- $MYSQL $MYSQL_PARAMETERS -e"DELETE FROM mayor_login.session" ##itt se kell, jó az ASCII
- echo "kész."
- fi
-else
- echo -e "\n * A lock-olást a kérésedre kihagyjuk..."
-fi
-
-echo -e "\n * Az előzetes frissítő állományok feldolgozása (pre*, rev*):\n"
-for FILE in $(ls $UPDATEDIR/rev* $UPDATEDIR/pre* | sort); do
- run_script
-done
-
-if [ "$EXECONLY" != "1" ]; then
- echo -e "\n * A modulok állományainak frissítése:\n"
- for MODULE in $MODULES; do
- echo -e "\n $MODULE... \n"
- if [ "$HTTP_SERVER" == '' ]; then
- $SVN --force --quiet export https://svn.mayor.hu/svn/trunk/$MODULE "$BASEDIR"
- if [ $? != 0 ]; then exit 13; fi
- else
- # Ha rpm csomag futtatja, akkor már ki van csomagolva minden és nincs md5sum
- if [ -f $TMPDIR/md5sum ]; then
- MOD=$(echo $MODULE | sed "s#/#-#")
- FILE=$(grep "$MOD-rev" $TMPDIR/md5sum | cut -d ' ' -f 3)
- if [ -f $TMPDIR/$FILE ]; then
- tar xfz $TMPDIR/$FILE -C $BASEDIR
- if [ $? != 0 ]; then exit 13; fi
- fi
- fi
- fi
- done
- if [ -d $TMPDIR ]; then rm -rf $TMPDIR; fi
- echo -e "\nkész.\n"
-fi
-
-echo -e "\n * Az utólagos frissítő állományok feldolgozása (post*):\n"
-for FILE in $(ls $UPDATEDIR/post* | sort); do
- run_script
-done
-
-
-if [ -e $LOCKFILE ]; then
- if [ ! -z $LOCKFILE ]; then
- echo -e "\n * A web-es hozzáférés engedélyezése:"
- rm $LOCKFILE
- fi
-fi
-
-if [ "$EXECONLY" != "1" ]; then
- echo -e "\n * A szükséges jogosultságok beállítása:"
- chmod +x $BASEDIR/bin/mayor
- echo -n " ... "
- chown -R $WEB_SERVER_USER $BASEDIR/download
- chown -R $WEB_SERVER_USER $BASEDIR/cache
- if [ -d $BASEDIR/www/wiki/conf ]; then
- chown -R $WEB_SERVER_USER $BASEDIR/www/wiki/conf $BASEDIR/www/wiki/data
- fi
- chown $WEB_SERVER_USER $BASEDIR/config
- chmod 700 $BASEDIR/config
- echo -e "... kész.\n"
-
- echo -e "\n * Szimbolikus linkek ellenőrzése/létrehozása"
- POLICIES="parent public"
- for POLICY in $POLICIES; do
- eval "LIST=\$${POLICY}Link"
- for f in $LIST; do
- DIR=$(echo $f | cut -d / -f 1-2)
- if [ ! -d $BASEDIR/www/policy/$POLICY/$DIR ]; then
- echo " Könyvtár: $BASEDIR/www/policy/$POLICY/$DIR"
- mkdir -p $BASEDIR/www/policy/$POLICY/$DIR
- fi
- FILES="$f-pre.php $f.php"
- for file in $FILES; do
- if [ ! -e $BASEDIR/www/policy/$POLICY/$file ]; then
- if [ -f $BASEDIR/www/policy/private/$file ]; then
- echo " $BASEDIR/www/policy/private/$file --> $BASEDIR/www/policy/$POLICY/$file"
- ln -s $BASEDIR/www/policy/private/$file $BASEDIR/www/policy/$POLICY/$file
- else
- echo " Hiányzó file: $BASEDIR/www/policy/private/$file"
- fi
- fi
- done
- done
- eval "DLIST=\$${POLICY}Deny"
- for f in $DLIST; do
- FILES="$f-pre.php $f.php"
- for file in $FILES; do
- if [ -e $BASEDIR/www/policy/$POLICY/$file ]; then
- echo " $BASEDIR/www/policy/$POLICY/$file link(file) törlése"
- rm "$BASEDIR/www/policy/$POLICY/$file"
- fi
- done
- done
- done
-fi # execonly
-
-echo -e "\n * Az frissített verziószám rögzítése ($UJ_REV)"
-if [ "$UJ_REV" -gt 0 ]; then
- echo $UJ_REV > $REVISION_FILE
-else
- echo " Hibás (nulla) verziószám! Nem rögzítjük."
-fi
-
-[ -x "$LOCAL_UPDATE_SCRIPT" ] && echo -e "\n * Helyi szkript futtatása: $LOCAL_UPDATE_SCRIPT...\n " && . "$LOCAL_UPDATE_SCRIPT"