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 😉