Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
¿Qué es un backup?
En términos simples: es un respaldo.
● Archivos de usuarios
/home
/etc/squid
/var/log/squid
Backups en Linux
● Instalación y datos de aplicaciones.
● BIND (DNS server)
/var/named
/etc/*named*
● Apache (Web server)
/etc/httpd/conf
/etc/httpd/conf.d
/var/www/html
/var/log/httpd
● Samba (Servidor de archivos)
/etc/samba
● OpenLDAP (Servidor de directorios LDAP)
/etc/ldap
/var/lib/ldap
Backups en Linux
● Instalación y datos de aplicaciones.
● Postfix(MTA, servidor SMTP)
/etc/postfix
/var/log/maillog
● Cyrus IMAP (Servidor POP3 e IMAP)
/etc/cyrus.conf /etc/imapd.conf
/var/spool/imap
/var/lib/imap
/var/log/maillog
● MySQL (Servidor de bases de datos)
/etc/my.cnf
/var/lib/mysql
● Registros (logs) del sistema y aplicaciones.
/var/log
Backups en Linux
● Bases de datos
● MySQL
/var/lib/mysql
● PostgreSQL
/var/lib/pgsql/data
Tipos de backups
La siguiente es una definición que podría variar en la literatura de una u otra
solución de backup pero normalmente se puede tener el consenso de estos 3
tipos de backups:
●Completo (Full)
Respalda la información en su totalidad. No se discrimina nada.
● Diferencial
Respalda solo la información que ha variado desde la fecha del
último backup completo.
● Incremental
Respalda solo la información que ha variado desde el último
backup, cualquiera que haya sido (Completo, Diferencial o
Incremental).
Dispositivos y medios de
almacenamiento
Los respaldos suelen realizarse a algún medio de almacenamiento para el cual
se puede usar opcionalmente un dispositivo especializado. Entre ellos tenemos:
snapshot_root /backup/rsnapshot
cmd_ssh /usr/bin/ssh
interval daily 7
interval weekly 4
# Backup del servidor local
backup /etc/ localserver/
backup /var/log/ localserver/
backup /data/ localserver/
# Backup del servidor srvapp01
backup root@srvapp01:/home/ srvapp01/ exclude=backup
backup root@srvapp01:/etc/ srvapp01/
backup root@srvapp01:/var/log/ srvapp01/
# Backup del servidor srvwinpdc
backup /mnt/srvwinpdc/data srvwinpdc/
backup /mnt/srvwinpdc/Users srvwinpdc/
Software de respaldos: rsnapshot
● Para respaldar el servidor Windows, srvwinpdc, instalamos:
# yum install cifs-utils
Device {
Name = FileStorage
Media Type = File
Archive Device = /bacula/File
LabelMedia = yes
Random Access = Yes
AutomaticMount = yes
RemovableMedia = no
AlwaysOpen = no
}
Storage {
Name = File
Address = 192.168.1.99
SDPort = 9103
Password = "@@SD_PASSWORD@@"
Device = FileStorage
Media Type = File
}
Acá se define la IP y puerto del servicio Storage así como la clave para autenticarse a él.
De los varios dispositivos que puede tener dicho Storage, va a usar aquell llamado
FileStorage y cuyo medio de almacenamiento sea de tipo File. Esta asociación del
Director con el Storage recibe el nombre File también.
Software de respaldos: Bacula
Servicio Director (/etc/bacula/bacula-dir.conf)
Ahora se define un Pool (grupo de volúmenes) para los respaldos de prueba que
usaremos:
Pool {
Name = Total
Pool Type = Backup
Storage = File
Recycle = yes
Autoprune = yes
Volume Retention = 12 months
Volume Use Duration = 12 hours
Maximum Volume Bytes = 50G
Maximum Volumes = 100
Label Format = Total-
}
El Pool tiene como nombre Total y de tipo Backup (para respaldos). Los volúmenes de
este Pool los escribe usando la asociación Director<->Storage de nombre File y les
asignará a ellos una serie de parámetros de retención y/o rotación particulares.
Software de respaldos: Bacula
Servicio Director (/etc/bacula/bacula-dir.conf)
Ahora se define un Fileset para decidir qué cosa respaldar:
FileSet {
Name = srvbacula_fileset
Include {
Options {
wildfile = "*.gz"
exclude = yes
}
Options {
compression=GZIP
signature=SHA1
}
File = /etc
File = /home
File = /root
File = /var/spool/cron
File = /var/log
}
}
Client {
Name = srvbacula
Address = 192.168.1.21
FDPort = 9102
Catalog = MyCatalog
Password = "ClaveSeguraDelCliente"
File Retention = 30 days
Job Retention = 6 months
AutoPrune = yes
}
Este cliente se llama srvbacula el cual escucha en una IP y puerto específicos. Usa el
catálogo por defecto de Bacula y se autentica a él con una clave robusta. Adicionalmente
se define unos parámetros por defecto de rotación de archivos para todos los trabajos de
este cliente.
Software de respaldos: Bacula
Servicio Director (/etc/bacula/bacula-dir.conf)
Finalmente, la definición del trabajo de respaldo que será programado para su ejecución:
Job {
Name = srvbacula_job
JobDefs = DefaultJob
Client = srvbacula
FileSet = srvbacula_fileset
Pool = Total
}
Este trabajo agrupa las definiciones ya existentes como el cliente, fileset, pool y otros
atributos heredados de una plantilla (DefaultJob) que se convierte en la unidad
programable de respaldo para su ejecución.
Software de respaldos: Bacula
Inicio de servicios previos
Se debe iniciar la base de datos MariaDB:
# cd /usr/libexec/bacula
# ./create_mysql_database -p
# ./make_mysql_tables -p
# ./grant_mysql_privileges -p