|
Buscar |
Backup completo de la Release2 mediante FTP
En el ejemplo utilizamos el espacio Backup FTP de su servidor (disponible a partir de Superplan) para realizar una copia completa del servidor. Puede utilizar cualquier espacio FTP cambiando los parámetros de los scripts. Esta guía está basada en la Release2 de OVH, pero puede usarla como modelo para inspirarse y hacer una copia de sus archivos si tiene otra distribución de Linux. ATENCION /!\ Los errores que no se deben cometer:
Sobre el modo rescue La variable $ROOT normalmente estará vacía (modo normal). Si esta en modo rescue, debe indicar la ruta en la cual se ha montado el antiguo disco del que quiere realizar la copia de seguridad (por lo general en /mnt). # ROOT=/mnt Podemos comenzar salvaguardar los directorios en un directorio del disco duro (de preferencia en /home). Instalación de FTP En algunas versiones de la Release2, el comando FTP no viene instalado de serie. Para completar la instalación, basta con introducir el comando emerge (instalar) con el programa deseado : # emerge ftp [..] y esperar a que la instalación termine. Creación del directorio backup Primero creamos un directorio de backup en el disco duro : # cd /home # mkdir backup Asegúrese de tener los datos del espacio Backup FTP a utilizar. En concreto necesita saber los datos siguientes :
Puede consultar los datos de su espacio Backup FTP en su Manager. Si utiliza otro espacio FTP diferente, puede utilizar sus valores de acceso (servidor FTP, login, password). Creación de los scripts A continuación creamos el fichero put-ftp.sh que pasa automáticamente los archivos al backup FTP de su servidor. Si utiliza otro espacio de almacenamiento, realice la copia en el espacio de almacenamiento en lugar de usar el comando put-ftp.sh con cada archivo. Con esos datos escribimos el fichero put-ftp.sh : #!/bin/bash FTP_HOST='xxx.xxx.xxx.xxx' FTP_LOGIN='nsXXXXX.ovh.net' FTP_PASS='******' ftp -in << EOF open ${FTP_HOST} user ${FTP_LOGIN} ${FTP_PASS} bin verbose prompt put $1 bye EOF Guardamos el fichero en /home/backup y ya podemos empezar a transferir los archivos. Posteriormente, con los datos del backup FTP escribimos el fichero get-ftp.sh : #!/bin/bash FTP_HOST='xxx.xxx.xxx.xxx' FTP_LOGIN='nsXXXXX.ovh.net' FTP_PASS='******' ftp -in << EOF open ${FTP_HOST} user ${FTP_LOGIN} ${FTP_PASS} bin verbose prompt mget $1 bye EOF Guardamos el fichero en /home/backup y ya podemos recuperar los archivos. 1. Archivos cuentas HOME La copia de los ficheros FTP debe hacerse cuenta por cuenta para evitar los errores. Vemos los usuarios que vamos a salvar. [root@ns1 root]# ls -l $ROOT/home total 264 drwxr-xr-x 5 a2s users 4096 oct 5 2001 a2s drwxr-xr-x 6 acrocmov users 4096 nov 27 2002 acrocmov drwxr-xr-x 2 agilecoa users 4096 fév 19 2003 agilecoa [...] Vamos a crear un fichero tgz por cada cuenta y añadirlo al espacio Backup. Ejecutamos el código : for i in $( ls -l $ROOT/home/ | grep users | awk {'print $9'} ); do tar czf /home/backup/home-$i.tgz $ROOT/home/$i /home/backup/put-ftp.sh /home/backup/home-$i.tgz rm /home/backup/home-$i.tgz done A continuación guardamos una lista de los usuarios y los dominios contenidos en el servidor. Para ello tecleamos el comando siguiente : # cat $ROOT/etc/httpd/httpd.conf | egrep "DocumentRoot|ServerAlias" | egrep -v "\/home\/ovh\/www|\/usr\/local\/apache\/htdocs|#" | awk {'print $2'} > /home/backup/domain-login.txt # /home/backup/put-ftp.sh /home/backup/domain-login.txt 2. Contraseñas Las contraseñas están almacenadas en el fichero $ROOT/etc/shadow Añada el fichero al backup con el comando # tar czf /home/backup/shadow.tgz $ROOT/etc/shadow # /home/backup/put-ftp.sh /home/backup/shadow.tgz # rm /home/backup/shadow.tgz 3. DNS La configuración de DNS está en el directorio /mnt/var/named/ # tar czf /home/backup/named.tgz $ROOT/var/named # /home/backup/put-ftp.sh /home/backup/named.tgz # rm /home/backup/named.tgz 4. POP3 La configuración de POP3 está en el directorio $ROOT/home/vpopmail/domains/ [root@ns1 root]# ls -al $ROOT/home/vpopmail/domains/a2s.fr/ total 44 drwx-- 3 vpopmail vchkpw 4096 jui 11 16:03 . drwx- 50 vpopmail vchkpw 4096 nov 3 15:59 .. -rw- 1 vpopmail vchkpw 34 oct 5 2001 .dir-control drwx- 3 vpopmail vchkpw 4096 oct 5 2001 postmaster -rw- 1 vpopmail vchkpw 35 déc 12 2002 .qmail-admin -rw- 1 vpopmail vchkpw 34 oct 5 2001 .qmail-christian -rw- 1 vpopmail vchkpw 55 oct 5 2001 .qmail-default -rw- 1 vpopmail vchkpw 34 nov 7 2001 .qmail-info -rw- 1 vpopmail vchkpw 19 jui 11 16:03 .qmail-jean-yves -rw- 1 vpopmail vchkpw 89 oct 5 2001 vpasswd -rw- 1 vpopmail vchkpw 2159 oct 5 2001 vpasswd.cdb -rw- 1 vpopmail vchkpw 0 oct 5 2001 .vpasswd.lock [...] Para copiar toda la configuración de mail de todos los dominios tecleamos el código : for i in $( ls $ROOT/home/vpopmail/domains/ ); do tar czf /home/backup/pop3-$i.tgz $ROOT/home/vpopmail/domains/$i/ /home/backup/put-ftp.sh /home/backup/pop3-$i.tgz rm /home/backup/pop3-$i.tgz done 5. MySQL Las bases de datos están en el directorio $ROOT/home/mysql/ [root@ns1 root]# ls -l $ROOT/home/mysql/ total 52 drwx- 2 mysql mysql 4096 déc 4 2002 alsaceenfete drwx- 2 mysql mysql 4096 jui 30 2002 alsavert drwx- 2 mysql mysql 4096 oct 31 14:37 doriath drwx- 2 mysql mysql 4096 nov 27 2002 gite -rw-r-r- 1 mysql root 418 jui 24 2001 localhost.localdomain.err drwx-x-x 2 mysql root 4096 jui 24 2001 mysql -rw-r-r- 1 mysql root 1494 nov 7 22:04 ns1.impact-web.org.err drwx- 2 mysql mysql 4096 nov 4 11:28 outillage2000 drwx- 2 mysql mysql 4096 oct 2 11:00 referencement -rw-r-r- 1 mysql root 836 aoû 20 2001 stock.ovh.net.err drwxr-xr-x 2 mysql root 4096 jui 24 2001 test drwx- 2 mysql mysql 4096 sep 12 17:35 usr_web238_1 drwx- 2 mysql mysql 4096 jui 3 2002 virenque [...] Para pasarlas a varios ficheros tgz, puede teclear el comando : for i in $( ls $ROOT/home/mysql/ ); do tar czf /home/backup/mysql-$i.tgz $ROOT/home/mysql/$i /home/backup/put-ftp.sh /home/backup/mysql-$i.tgz rm /home/backup/mysql-$i.tgz done Cuando terminemos de transferir los archivos, los datos están a salvo en el espacio Backup FTP. Cuentas HOME Primero debe tener creadas las cuentas de cada usuario correspondientes a los dominios. Si no las ha creado siga las instrucciones en la guía : InstalarSitio Posteriormente podremos restaurar los archivos. La copia de los ficheros debe hacerse cuenta por cuenta para evitar los errores. [root@ns1 root]# cd /home/backup [root@ns1 backup]# get-ftp.sh home* [...] [root@ns1 backup]# ls -l /home/backup/home* total 264 drwxr-xr-x 5 root root 4096 oct 5 2001 home-a2s.tgz drwxr-xr-x 6 root root 4096 nov 27 2002 home-acrocmov.tgz drwxr-xr-x 2 root root 4096 fév 19 2003 home-agilecoa.tgz [...] Ya hemos descargado los archivos de las cuentas HOME. Vamos a reataurarlos uno por uno. [root@ns1 root]# ls -l /home total 240 drwxr-xr-x 4 a2s users 4096 nov 8 11:57 a2s drwxr-xr-x 6 acrocmov users 4096 nov 8 11:59 acrocmov drwxr-xr-x 4 agilecoa users 4096 nov 8 12:02 agilecoa [...] Podemos ejecutar los comandos siguientes : for i in $( ls -l $ROOT/home/ | grep users | awk {'print $9'} ); do tar zxvf /home/backup/home-$i.tgz /home/$i/ rm /home/backup/home-$i.tgz chown -fR $i.users /home/$i done Esto restaurará todos los archivos HOME al disco duro. Si hacemos un listado del nuevo directorio, los archivos web han sido restaurados correctamente. [root@ns1 root]# ls -l /home/a2s total 16 drwxrwxrwx 2 a2s users 4096 sep 19 2002 cgi-bin drwxr-xr-x 2 a2s users 4096 oct 20 2001 log drwxr-xr-x 6 a2s users 8192 oct 7 16:46 www Contraseñas Los permisos de las cuentas han sido modificados. Para evitar que la contraseña cambie debe ir cuenta por cuenta: [root@ns1 root]# cd /home/backup [root@ns1 backup]# get-ftp.sh shadow.tgz [root@ns1 backup]# tar zxvf shadow.tgz /etc/old-shadow Ahora uno por uno a todos los usuarios les cambiamos la contraseña, por ejemplo para el usuario "a2s" : [root@ns1 root]# grep "a2s" /etc/old-shadow a2s:TKzWbP97Cpc9Y:11690: :::::[root@ns1 root]# usermod -p TKzWbP97Cpc9Y a2s DNS
[root@ns1 root]# diff -u /home/backup/named/a2s.fr.hosts /var/named/a2s.fr.hosts - /home/backup/named/a2s.fr.hosts Wed Oct 29 23:00:11 2003 + /var/named/a2s.fr.hosts Sat Nov 8 11:57:32 2003 [...] Usted debe decidir lo que desea modificar. POP3 Normalmente puede copiar cuenta a cuenta como con el ftp. No olvide cambiar los permisos después. [root@ns1 root]# ls -al /home/backup/vpopmail-domains/a2s.fr/ total 44 drwx-- 3 vpopmail vchkpw 4096 jui 11 16:03 . drwx- 50 vpopmail vchkpw 4096 nov 3 15:59 .. -rw- 1 vpopmail vchkpw 34 oct 5 2001 .dir-control drwx- 3 vpopmail vchkpw 4096 oct 5 2001 postmaster -rw- 1 vpopmail vchkpw 35 déc 12 2002 .qmail-admin -rw- 1 vpopmail vchkpw 34 oct 5 2001 .qmail-christian -rw- 1 vpopmail vchkpw 55 oct 5 2001 .qmail-default -rw- 1 vpopmail vchkpw 34 nov 7 2001 .qmail-info -rw- 1 vpopmail vchkpw 19 jui 11 16:03 .qmail-jean-yves -rw- 1 vpopmail vchkpw 89 oct 5 2001 vpasswd -rw- 1 vpopmail vchkpw 2159 oct 5 2001 vpasswd.cdb -rw- 1 vpopmail vchkpw 0 oct 5 2001 .vpasswd.lock [root@ns1 root]# ls -al /home/vpopmail/domains/a2s.fr/ total 28 drwx- 3 vpopmail vchkpw 4096 nov 8 11:57 . drwx- 47 vpopmail vchkpw 4096 nov 8 13:09 .. -rw- 1 vpopmail vchkpw 34 nov 8 11:57 .dir-control drwx- 3 vpopmail vchkpw 4096 nov 8 11:57 postmaster -rw- 1 vpopmail vchkpw 55 nov 8 11:57 .qmail-default -rw- 1 vpopmail vchkpw 114 nov 8 11:57 vpasswd -rw- 1 vpopmail vchkpw 2184 nov 8 11:57 vpasswd.cdb -rw- 1 vpopmail vchkpw 0 nov 8 11:57 .vpasswd.lock [root@ns1 root]# cp -a /home/backup/vpopmail-domains/a2s.fr/* /home/vpopmail/domains/a2s.fr/ [root@ns1 root]# cp -a /home/backup/domains/a2s.fr/.qmail* /home/vpopmail/domains/a2s.fr/ La contraseña de las cuentas pop3 no cambia. MySQL Para copiar mysql, basta con pasar las bases una a una: [root@ns1 root]# ls -l /home/backup/mysql/ total 52 drwx- 2 mysql mysql 4096 déc 4 2002 alsaceenfete drwx- 2 mysql mysql 4096 jui 30 2002 alsavert drwx- 2 mysql mysql 4096 oct 31 14:37 doriath drwx- 2 mysql mysql 4096 nov 27 2002 gite -rw-r-r- 1 mysql root 418 jui 24 2001 localhost.localdomain.err drwx-x-x 2 mysql root 4096 jui 24 2001 mysql -rw-r-r- 1 mysql root 1494 nov 7 22:04 ns1.impact-web.org.err drwx- 2 mysql mysql 4096 nov 4 11:28 outillage2000 drwx- 2 mysql mysql 4096 oct 2 11:00 referencement -rw-r-r- 1 mysql root 836 aoû 20 2001 stock.ovh.net.err drwxr-xr-x 2 mysql root 4096 jui 24 2001 test drwx- 2 mysql mysql 4096 sep 12 17:35 usr_web238_1 drwx- 2 mysql mysql 4096 jui 3 2002 virenque [root@ns1 root]# ls -l /home/mysql/ total 8 drwx-x-x 2 mysql root 4096 nov 6 16:28 mysql srwxrwxrwx 1 mysql mysql 0 nov 8 11:50 mysql.sock drwxr-xr-x 2 root root 4096 nov 8 11:50 test [root@ns1 root]# cp -ar /home/backup/mysql/alsaceenfete/ /home/mysql [root@ns1 root]# chown -fR mysql.mysql /home/mysql No olvide añadir el user y db en la base mysql. Si no ha creado todavía la base de datos, se puede copiar el directorio mysql tal cual.: ReinstalarServidor :: Reinstalar el servidor : NetBoot : ¿Como seleccionar un kernel mediante Netboot? : RebootDeLaMaquina : ¿Cómo puedo reinicializar mi servidor? : ReactivarLosServicios : ¿Como reactivar propiamente los servicios? |