diff options
author | irina <irinagomez@us.es> | 2017-10-05 09:33:45 +0000 |
---|---|---|
committer | irina <irinagomez@us.es> | 2017-10-05 09:33:45 +0000 |
commit | e1e05def4a44dc1803d945645c471490c6229425 (patch) | |
tree | f5f21e2cec2f5c537acfebb1b3acb5dd0716a5ca /installer | |
parent | cedb7bbdf62963829eddc340f02b929e37bfbdd3 (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')
-rwxr-xr-x | installer/opengnsys_import.sh | 32 |
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 |