Implementar sistema de copias de VPS en caliente

ls / -l|grep "^d"|tr -s " "|cut -d" " -f9

Con el anterior comando conseguimos un listado de “solo los directorios” del nivel superior del sistema raíz de Linux.

Hay algunos que no interesan, si por ejemplo la salida de este comando escupe la siguiente salida por pantalla:

 bin
 boot
 copias
 dev
 etc
 home
 lib
 lib64
 lost+found
 media
 mnt
 opt
 proc
 root
 run
 sbin
 selinux
 srv
 sys
 tmp
 usr
 var

Nos vamos a quedar con:

 bin
 boot
 etc
 home
 lib
 lib64
 media
 mnt
 opt
 proc
 root
 run
 sbin
 selinux
 srv
 sys
 usr
 var

Aún hay algunos que sobran y que darán algún error, ya que se trata de directorios virtuales (copias de la RAM, procesos en ejecución …), enlaces, … como:

proc

run

Otros simplemente no sirven para mucho si por ejemplo vamos a migrar de Debian 7 a Debian 8, ya que en ese caso sería mejor guardar el listado de paquetería instalada en Debian 7, para en una instalación fresca de Debian 8 volverlos a instalar:

lib

lib64

sbin

usr

Podemos saber qué paquetería tenemos instalada mediante el comando dpkg:

dpkg [opcion…] acción
–get-selections [patrón-nombre-paquete…]
Get list of package selections, and write it to stdout. Without a pattern, non-installed packages (i.e. those which have been previously
purged) will not be shown.

Concretamente con este comando:

dpkg --get-selections

Una posible salida sería algo así:

root@servidor.vps:~# dpkg --get-selections
awstats install
clamav install
cron install
dpkg install
fail2ban install
iptables install
...

Y podríamos generar un informe.txt

dpkg --get-selections > informe.txt

En cualquier caso nos quedamos con estos:

tar czvf full.tar.gz /bin /boot /dev /etc /home /lib /lib64 /media /mnt /opt /proc /root /run /sbin /selinux /srv /sys /usr /var > log.txt 2> errores.txt

Podría haber querido simplemente guardar /var/www

tar czvf webs.tar.gz /var/www

tar czvf

La explicación de las opciones czvf es la siguiente:

“Crea Zipea Verbosea y fuerza la creación de un File” si me permitís la destroza que acabo de hacer al diccionario.

Que significa que:

  • va a crear  un “empaquetado” llamado webs.tar.gz,
  • no solo lo empaqueta también lo comprime con gzip [z],
  • además con la opción verbose [v] adquiere en su salida estándar toda la “verborrea” posible, es decir nos da TODA la información, conviene activarla si queréis generar un informe, o si el script de copias está en proceso de depuración.

Comando a utilizar

tar czvf full-vps.tar /bin /boot /etc /home /lib /lib64 /media /mnt /opt /proc /root /run /sbin /selinux /srv /sys /usr /var > log.txt 2> errores.txt

Con lo que ademas de generar el fichero creamos 2 ficheros:

  • log.txt
  • errores.txt

Que podríamos mandarnos por correo electrónico.

Espero que os haya sido de utilidad. En ese caso, compartid en vuestras redes! y nos vemos en la próxima entrega 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.