[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, 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: