Principal
Noticias
Proyectos
Documentos
Enlaces
Contacto
backup v3.0 by loop
castellano -
english
Características
Requisitos
Instalación
Download
Realiza copias de seguridad de los directorios, archivos y configuraciones del sistema que se especifiquen en la amplia configuración (backup.conf) que posee. Las copias se pueden volcar a diferentes medios, estando el script pensado para automatizar dicha tarea usando el crontab. El dueño del proceso debe ser el root, puesto que el script tiene que poder llegar a todas partes del sistema. ;)
A continuación indico las características principales del programa, los requisitos y la forma de instalarlo. También puedes visitar la
página del proyecto
en
Freshmeat
.
Características
Varias opciones combinables entre ellas para el destino de la copia de seguridad: SAMBA (NETBIOS), FTP, SCP (SSH), cinta (DAT), CDR(W) y disco duro (en tarball o tan sólo una ISO).
Posilibidad de tratar la ISO resultante con comandos externos, si elegimos crear solo una ISO.
Posibilidad de encriptar (blowfish) los ficheros resultantes del backup.
Elección de compresión entre gzip y bzip2.
Control del tamaño de la ISO del backup en caso de grabar a CD.
Control del resultado de la copia a HD, CD, cinta y transferencia por SAMBA o SCP.
Posibilidad de especificar el número de copias de seguridad antiguas que se guardan tanto en el disco duro local como por SAMBA, SCP o FTP.
Copias de seguridad del sistema: /boot, /etc, /usr/local/etc, crontab, paquetes instalados, configuración del kernel, información del sistema, logs del sistema.
Copias de seguridad de los homes: /root, directorio home completo con exclusiones y/o directorios homes definibles.
Copias de seguridad de programas comunes: Sendmail, Apache, PHP, MySQL, Squid, MRTG, Majordomo, Mailman, GNUPG, AWStats, Nagios (NetSaint), MailScanner. Todos ellos con PATHs configurables.
Listados y copias de seguridad de directorios configurables.
Notificaciones del resultado vía email: estado en el asunto (OK/ERROR) y log completo en el cuerpo del mensaje.
Idioma: castellano o inglés, con fácil traducción a otros idiomas.
Requisitos
Utilidades básicas: cp, rm, ls, tar, gzip, cat, date, uname, lspci, df, ps, netstat, fdisk, ifconfig, awk, sed, cut, wc, head, tee, mail. Dichas utilidades deben de estar en la variable de entorno $PATH.
Según las opciones que elijas, necesitarás tener más utilidades a parte de las básicas. En la configuración se pide el PATH a esas otras utilidades: smbmount, mkisofs, cdrecord, mt-st, gpg, mysqldump, openssl.
Instalación
1.- Mueve el directorio completo de este script a /usr/local/backup:
# mv backup-version /usr/local/backup
O bien, puedes moverlo con versión incluida y hacer un link...
# mv backup-version /usr/local/
# cd /usr/local
# ln -sf backup-version backup
2.- Edita el fichero de configuración y guardalo como 'backup.conf'. Dicho fichero se encuentra en /usr/local/backup/etc:
backup.conf-dist-es => versión en castellano
backup.conf-dist-en => versión en inglés
3.- Revisa los permisos de todos los ficheros relativos al script de backup, aunque si has hecho un 'mv' deberían de estar bien. ;)
El dueño y grupo de todos los ficheros debe de ser el root:
# chown -R root.root /usr/local/backup
El fichero 'backup.sh' debe tener permisos de lectura, escritura y ejecución
sólo
para el root:
# chmod 700 /usr/local/backup/backup.sh
El fichero de configuración debe tener permisos de lectura y escritura
sólo
para el root:
# chmod 600 /usr/local/backup/etc/backup.conf
4.- Si deseas meterlo en crontab, puedes usar el siguiente ejemplo:
# crontab -e
-> # Copia de seguridad todos los lunes (1 AM)
-> 0 1 * * mon /usr/local/backup/backup.sh 1> /dev/null 2> /dev/null
El "1> /dev/null 2> /dev/null" es para que el crontab no nos mande email con el resultado de la ejecución del backup, pues el script ya es informativo de por sí.
5.- Si quieres ejecutarlo en tiempo real...
- Teniendo /usr/local/backup en el PATH:
# backup.sh
- Sin tenerlo en el PATH:
# /usr/local/backup/backup.sh
Existe la posibilidad de especificar fichero(s) de configuración alternativo(s). Esto puede ser util en caso que hagamos varios tipos de backups en una misma máquina. Si bien, dicho(s) fichero(s) de configuración
deben estar
en el directorio /usr/local/backup/etc, por lo que no tienes que especificar el PATH:
# /usr/local/backup/backup.sh -c backup-alternativo.conf
Si no se pasa ningún parámetro al script, el fichero de configuración por defecto será /usr/local/backup/etc/backup.conf.
Es recomendable ejecutarlo al menos una vez en tiempo real, tras configurarlo, antes de colocarlo en el crontab, para asegurarnos de que todo irá bien.
Disfrútalo!
Download
No tiene sentido poner aquí versiones anteriores, pues todas han seguido la misma linea, y la última es la que vale... ;)
backup-3.0.tar.gz