[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: extraer usuarios mysql



2006/5/4, avisx <srmojo@gmail.com>:
2006/5/4, avisx <srmojo@gmail.com>:
> 2006/5/4, avisx <srmojo@gmail.com>:
> > 2006/5/4, Gerard Forns <gforns@gmail.com>:
> > > Hola,
> > >
> > >
> > > On 5/4/06, avisx <srmojo@gmail.com> wrote:
> > > > hola lista resulta que estoy migrando un servidor y  tengo que extraer
> > > > los usuarios del sistema y de mysql para poder ingresarlos en el nuevo
> > > > servidor.
> > > >
> > > > del sistema he podido sacarlos copiando shadow, passwd, group y
> > > > editando y seleccionando los que me interesaban, hay alguna manera mas
> > > > limpia?
> > >
como siempre me pasa lo mismo y siempre es la misma estructura aqui os
dejo un pequeño script
#script para sacar los usuarios del sistema
#normalmente cuando creamos los usuarios en el sistema se les crea una
carpeta, asi que utilizaremos la base de esa carpeta para trabajar

set -u

#especifica directorio donde estan las carpetas de usuarios, por defecto /home
home=/home

#especifica directorio donde se guardan los datos (3 ficheros:
passwd.bak, group.bak, shadow.bak), por defecto /home
backup=/home

#no hace falta decir que hace
cd $home

#elimino  ficheros passwd.bak, group.bak, shadow.bak
rm -f passwd.bak shadow.bak group.bak > /dev/null

#empezamos
for OBJ in *

do
#solo directorios
   if [ -d "${OBJ}" ]
   then

#defino mensajes
   m_user_ok="Usuario $OBJ añadido correctamente"
   m_user_ko="ERROR: No se ha podido añadir el usuario $OBJ"
   m_passwd_ok="La contraseña del usuario $OBJ se ha añadido correctamente"
   m_passwd_ko="ERROR: No se ha podido añadir la contraseña del usuario $OBJ"
   m_group_ok="El grupo $OBJ ha sido añadido correctamente"
   m_group_ko="ERROR:  No se ha podido añadir el grupo $OBJ"

#entro en el primer directorio de usuario
   cd ${OBJ}

#miro si existe usuario en el fichero y lo añado al backup, imprimo en
pantalla resultado
#como en linux no deja crear usuarios con el simbolo -, yo los creo
con _ y luego renombro el directorio por eso el tr _ -
cat /etc/passwd |grep "`pwd | cut -d/ -f3| tr _ -`:">>$backup/passwd.bak && echo $m_user_ok || echo $m_user_ko

cat /etc/shadow |grep "`pwd | cut -d/ -f3| tr _ -`:">>$backup/shadow.bak && echo $m_passwd_ok || echo $m_passwd_ko

cat /etc/group  |grep "`pwd | cut -d/ -f3| tr _
-`:">>$backup/group.bak && echo $m_group_ok || echo $m_group_ko

#adorno de pantalla
   echo ""

#salgo del directorio del usuario
   cd ..

#seguimos en el directorio que lo dejamos
   continue
   fi
 done

> > > jo sempre ho he fet així, i m'ha funcionat! Potser es pot fer més net,
> > > però si així funciona...
> > >
> > > >
> > oido cocina
> >
> > > > y respecto a mysql no tengo ni la mas minima idea de como podria
> > > > sacarlos, por comandos claro, alguien podria guiarme?
> > > >
> > >
> > > pots provar amb la comanda mysqldump, que et genera un fitxer amb
> > > totes les regles mysql. Normalment això s'usa per fer backup de les
> > > bd's de mysql .Aquest fitxer després només l'has de redirigir cap al
> > > nou mysql "<" i ja estaria restaurat l'estat de la base de dades. Pots
> > > especificar-li si vols totes les DB's o només les que t'interessin, si
> > > només vols restaurar usuaris, crec que estan a la BD mysql.
> > >
> > > Fes-li un cop d'ull a la documentació de mysql per veure totes les
> > > opcions i com s'usa
> > >
> > > http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html
> > >
> > sirve con un simple
> > mysqldump --all-databases > all_databases.sql
> > en el servidor viejo
> >
> > y luego en el servidor nuevo
> > mysqldump --all-databases > all_databases.sql
> mysqldump --all-databases < all_databases.sql
> >
> > es eso?? con eso tengo tablas y usuarios??
> >
> > de nuevo, gracias...
> > >
> > > > muchas gracias por anticipado y hasta pronto
> > > >
> > >
> > > Salut...
> > > >
> > >
> > >
> > >
> > > --
> > > "El que l'oruga anomena la fi del món, la resta del món l'anomena papallona"
> > >                                                               (R. Bach)
> > >
> >
>




Reply to: