Buscar


imprimir pdf

Backup completo de la Release2 mediante FTP


ATENCIÓN: Esta guía está aún en proceso de redacción / modificación. Consulte al servicio técnico si la necesita urgentemente.



Introducción


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:

  • copiar /etc/passwd /etc/shadow
  • copiar /home de una sola vez
  • copiar /var/named de una sola vez



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



Preparación del espacio backup

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 :

  • Dirección IP de su servidor Backup FTP (xxx.xxx.xxx.xxx)
  • El login es siempre el nombre de su servidor (nsXXXXXX.ovh.net)
  • La contraseña

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.


Salvaguarda de 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.


Restaurar los archivos

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

ATENCIÓN : Verifique que la versión de BIND de origen sea la misma que la de destino; el fichero de configuración de bind 8 no es el mismo que el de bind 9.




[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.


Más información

: ReinstalarServidor :: Reinstalar el servidor

: NetBoot : ¿Como seleccionar un kernel mediante Netboot?
: RebootDeLaMaquina : ¿Cómo puedo reinicializar mi servidor?

: ReactivarLosServicios : ¿Como reactivar propiamente los servicios?