summaryrefslogtreecommitdiffstats
path: root/installer/opengnsys_import.sh
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2016-10-31 13:09:54 +0000
committerramon <ramongomez@us.es>2016-10-31 13:09:54 +0000
commit749ae5fbfec33947c2bbf3d0508fce45cb2ccd1c (patch)
treeda532d1f47e699935d2d03304e042dbf62a4a3c1 /installer/opengnsys_import.sh
parentb32e00fd2deb012eb5c859ad2b11259988f14cc6 (diff)
#755: Usar fichero temporal con datos de conexión a MySQL para no incluir datos sensibles en la ejecución de comandos.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5059 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'installer/opengnsys_import.sh')
-rwxr-xr-xinstaller/opengnsys_import.sh18
1 files changed, 15 insertions, 3 deletions
diff --git a/installer/opengnsys_import.sh b/installer/opengnsys_import.sh
index 69f44604..e58da24f 100755
--- a/installer/opengnsys_import.sh
+++ b/installer/opengnsys_import.sh
@@ -109,15 +109,27 @@ cp -r $TMPDIR/menus $OPENGNSYS/www
# MYSQL
echo " * Importamos informacion mysql."
source $OPENGNSYS/etc/ogAdmServer.cfg
+# Crear fichero temporal de acceso a la BD
+MYCNF=$(mktemp /tmp/.my.cnf.XXXXX)
+chmod 600 $MYCNF
+trap "rm -f $MYCNF" 1 2 3 6 9 15
+cat << EOT > $MYCNF
+[client]
+user=$USUARIO
+password=$PASSWORD
+EOT
+
# Copia de seguridad del estado de la base de datos
-mysqldump --opt -u $USUARIO -p$PASSWORD $CATALOG > $MYSQLBCK
+mysqldump --defaults-extra-file=$MYCNF --opt $CATALOG > $MYSQLBCK
# Importamos los datos nuevos
-mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" < $MYSQLFILE &>/dev/null
+mysql --defaults-extra-file=$MYCNF -D "$CATALOG" < $MYSQLFILE &>/dev/null
[ $? -ne 0 ] && echo "ERROR: Error al importar la información de la base de datos."
# Importamos datos tabla usuario, ignoramos los repetidos
sed -i -e s/IGNORE//g -e s/INSERT/"\nALTER TABLE usuarios ADD UNIQUE (usuario);\n\nINSERT IGNORE"/g $MYSQLFILE2
-mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" < $MYSQLFILE2 &>/dev/null
+mysql --defaults-extra-file=$MYCNF -D "$CATALOG" < $MYSQLFILE2 &>/dev/null
[ $? -ne 0 ] && echo "ERROR: Error al importar la información de los usuarios de la consola"
+# Borrar fichero temporal
+rm -f $MYCNF
echo -e "Se ha terminado de importar los datos del backup. \n\nSe han realizado copias de seguridad de los archivos antiguos:"
echo " - $DHCPCFGDIR/dhcpd.conf-$(date +%Y%m%d)"