backupninja facilita la tarea de hacer respaldos periodicos a treves de estrategias variadas. un advantaje que tiene backupninja es esta escrito pensado en los vserver. claro que podemos utilizar ello en un servidor (o inclusive pc) cualquiera. backupnijna no funciona solito, sino que es como un contenador que nos permite controlar varios distintos aplicaciónes desde un lugar central.
por ejmplo, podemos utilzar duplicity con backupninja para hacer respaldos cifrados. otro opción recomendable es utilizar rdiff-backup, especialmente si estamos respaldando a un disco duro cifrado. estos herramientas mantendran versiones de los respaldos, así que podemos restaurar el respaldo de ayer o hacer una semana o un més, dependiendo de que tanto tiempo configuramos backupninja mantener los respaldos. ambos utilizan rdiff para unicamente respaldar lo que ha cambiado desde el respaldo anterior, así que los respaldos subsequentes al primero ocupan poco espacio en el disco duro.
fuentes en Inglés
en debian:
#apt-get install backupninja rdiff-backup duplicity hwinfo
eso instalara los ejectubables “backupninja” y “ninjahelper”. podemos utilizar “backupninja” para hacer pruebas desde la linea de comandos. “ninjahelper” es un interfaz grafica para configurar y administrar nuestras respaldos.
La configuración general de backupnijna esta en ”/etc/backupninja.conf”. vale la pena revisarlo, pero por lo general unicamente tendremos que cambiar el direción a que backupninja envia correos, el cuando si hace los respaldos, si estamos usando vservers o no, y se sí la carpeta raiz de los vserver. son los siguintes opciones en ”/etc/backupninja.conf”:
reportemail = root #el usuario que va recibir correos de error o avisos when = everyday at 03:09 # cuando hacer el respaldo, aqui dice "todos los dias a 03:09am" vservers = yes # cambiamos a "no" si no queremos respaldar vservers VROOTDIR=/vservers # si el anterior es "yes", donde estan ubicados los vserver
corremos el ayudante de los ninja:
#ninjahelper
selecionamos “new” y luego “sys”. sys guardará información sobre nuestra sistema en /var/backups. selecionamos todos los opciones: packages, particiones, sfdisk, hardware. y ya, cuando le damos “ok” veremos que si creó un accion llamada /etc/backup.d/10.sys
por las dudas, podemos abrir el archivo que acamos creer con un editor de textos para revisar o cambiar nuestra configuración:
#nano /etc/backup.d/10.sys
esto ultimo tiene que hacer como root, backupninja es muy conciente del seguridad de sus configuraciónes. al abrir el archivo veremos lo mismo que vimos en “ninjahelper”.
packages = yes partitions = yes dosfdisk = yes hardware = yes # packagesfile = /var/backups/dpkg-selections.txt # partitionsfile = /var/backups/partitions.__star__.txt # hardwarefile = /var/backups/hardware.txt
cambiando un ”“yes” a “no” aqui es lo mismo de no haber habilitado el opciòn en ninjahelper. tambien podemos cambiar el nombre de los archivos guardados y su ubicacion quitando el ”#” y cambiando lo que le sigue:
#ninjahelperselecionamos 'new' → 'rdiff' → 'src' para selecionar las fuentes de los archivos que queremos respaldar. por lo general los opciones predeterminados respaldaran nuestras configraciónes de cron, de la sistema (etc), los binarios que compliamos nosotros, las carpetas de usuarios, y los respaldos guardados en /var/backups (como los respaldos de la sistema hechos en el la configuracion de 10.sys). tendremos que agregar cualcuier cosa que especifica a nuestra sistema.
Despues de darle en Aceptar, no dará los archivos excluidos. por ejmplo si en el opcion anterior configuramos respaldar ”/home” pero no queremos respaldar ”/home/invitado” aqui podemos dicerlo. siguiemos dandlole en aceptar y luego en “dest”. ahora configuramos el destino de los respaldos. “keep” refiere a el numero de dias despues de lo cual el respaldo será borrado. “60D” son 60 dias. “dest_directory” es la capeta de destino de nuestra respaldo. “dest_type” puede ser “local” para un respaldo en la misma maquina o “remote para respaldar sobre la red”. “dest_host” y “dest_user” son necesarios unicamente en el caso que el “dest_type” sea “remote. ”“dest_host” es el nombre de dominio o ip del la maquina que va a hospedar nuestra respaldo. “dest_user” es el usuario en el la maquina remoto que backupninja va utilizar para guardar alla los archivos de respaldo.
así en breve, backupninja va a llamar el orden rdiff-backup. conectar a el “dest_host” a traves de ssh con el “dest_user”. copiará las diferencias en los archivos que hemos incluidos (includes), dejando los que excluimos (excludes) cambiados desde el ultimo respaldo.
el ultimo configuración es “conn”, eso creara las llaves ssh precisos para autenticarse con la maquina remota, y copiarlas a ella. hará una preuba de la conexión y y creará la carpeta “dest_directory” sino esiste ya. si todo va bien ”/etc/backup.d/90.rdiff” aparecerá en el menu principal. si da un error puede que tenemos que hacer la tarea de crear y copiar las llaves ssh y copiarlos manualmente. es importante entender que lo que queremos es una manera para que backupninja copia los archivos sin necesidad de interación humana, así que las llaves ssh no deben de tener contraseña. hay mucha material en el red sobre la tema. por ejemplo:
en fin, podemos checar o alterar el configuración igual como hicmos con 10.sys:
#nano /etc/backup.d/90.rdiff
podemos probar nuestras configuraciónes uno por uno con ninjahelper. unicamente si seleciona el accion, por ejemplo 10.sys, y luego seleciona “test”. o podemos correrlo selecionando “run” en lugar de “test”. si todo va bien veremos el siguiente:
Info: <<<< finished action /etc/backup.d/10.sys: SUCCESS
sino en lugar de SUCCESS veremos WARNING o ERROR.
podemos hacer lo mismo sin necesisdad de abrir ninjahelper directamente desde la linea de comandos:
backupninja --debug --run /etc/backup.d/90.rdiff
el opción –debug nos derá más información de depuración. así podemos ver el comando de rdiff-backup esatamente como backupninja esta llamandlo. es util en el caso que no funciona algo. podemos cortar y pegar el comando de rdiff-backup al terminal para correrlo directamente. así cuando surge una problema podemos determinar si es relacionado con backupninja o rdiff-backup. en el caso de nuestra ejemplo el comando de rdiff-backup es algo así:
/usr/bin/rdiff-backup --print-statistics --include '/var/spool/cron/crontabs' --include '/var/backups' --include '/etc' --include '/root' --include '/home' --include '/usr/local/bin' --include '/usr/local/sbin' --include '/var/lib/dpkg/status' --include '/var/lib/dpkg/status-old' --exclude '/*' / /dest/dir