summaryrefslogtreecommitdiffstats
path: root/installer/opengnsys_import.sh
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2017-10-05 09:33:45 +0000
committeririna <irinagomez@us.es>2017-10-05 09:33:45 +0000
commite1e05def4a44dc1803d945645c471490c6229425 (patch)
treef5f21e2cec2f5c537acfebb1b3acb5dd0716a5ca /installer/opengnsys_import.sh
parentcedb7bbdf62963829eddc340f02b929e37bfbdd3 (diff)
#755 opengnsys_import.sh: si es necesario importar los trigger de la BD se solicita la clave de root. El propietario de los menús PXE es www-data,para poder actualizarlos desde la consola.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5445 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'installer/opengnsys_import.sh')
-rwxr-xr-xinstaller/opengnsys_import.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/installer/opengnsys_import.sh b/installer/opengnsys_import.sh
index 8c724130..6b497ec4 100755
--- a/installer/opengnsys_import.sh
+++ b/installer/opengnsys_import.sh
@@ -22,6 +22,9 @@ OPENGNSYS="/opt/opengnsys"
MYSQLFILE="$TMPDIR/ogAdmBD.sql"
MYSQLFILE2="$TMPDIR/usuarios.sql"
MYSQLBCK="$OPENGNSYS/doc/ogAdmBD.sql-$DATE"
+CATALOG="ogAdmBD"
+
+DEFAULT_MYSQL_ROOT_PASSWORD="passwordroot" # Clave por defecto root de MySQL
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
@@ -96,6 +99,7 @@ done
echo " * Guardamos los ficheros PXE de los clientes."
mv $OPENGNSYS/tftpboot/menu.lst $OPENGNSYS/tftpboot/menu.lst-$DATE
cp -r $TMPDIR/menu.lst $OPENGNSYS/tftpboot
+chown -R www-data:www-data $OPENGNSYS/tftpboot/menu.lst
# Configuración de los clientes
echo " * Guardamos la configuración de los clientes."
@@ -120,6 +124,34 @@ user=$USUARIO
password=$PASSWORD
EOT
+# Si la BD tiene no definido el trigger necesitamos permisos de root
+mysql --defaults-extra-file=$MYCNF -e "SHOW TRIGGERS FROM ogAdmBD;" |grep "Trigger" &>/dev/null
+if [ $? -eq 0 ]; then
+ # Existe el trigger: eliminamos líneas del trigger en ogAdmBD.sql
+ read INI END <<< $(grep -n -e TRIGGER -e "END.*;;" $MYSQLFILE |cut -d: -f1)
+ sed -i "$INI,${END}d" $MYSQLFILE
+else
+ # No existe: necesitamos privilegios de root
+ # Clave root de MySQL
+ while : ; do
+ echo -n -e "\\nEnter root password for MySQL (${DEFAULT_MYSQL_ROOT_PASSWORD}): ";
+ read -r MYSQL_ROOT_PASSWORD
+ if [ -n "${MYSQL_ROOT_PASSWORD//[a-zA-Z0-9]/}" ]; then # Comprobamos que sea un valor alfanumerico
+ echo -e "\\aERROR: Must be alphanumeric, try again..."
+ else
+ # Si esta vacio ponemos el valor por defecto
+ MYSQL_ROOT_PASSWORD="${MYSQL_ROOT_PASSWORD:-$DEFAULT_MYSQL_ROOT_PASSWORD}"
+ break
+ fi
+ done
+ cat << EOT > $MYCNF
+[client]
+user=root
+password=$MYSQL_ROOT_PASSWORD
+EOT
+
+fi
+
# Copia de seguridad del estado de la base de datos
mysqldump --defaults-extra-file=$MYCNF --opt $CATALOG > $MYSQLBCK
# Importamos los datos nuevos