Re: extraer usuarios mysql
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
#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: