coaxial.backup
Rol de Backup
Este rol de Ansible instalará y configurará tarsnap + tarsnapper para hacer copias de seguridad encriptadas a intervalos regulares.
Estas copias de seguridad se almacenan con tarsnap, que utiliza Amazon S3.
Aprende más sobre Tarsnap, copias de seguridad en línea para los realmente paranoicos.
Requisitos
- Una cuenta de tarsnap con fondos
- Este rol solo ha sido probado en Ubuntu 16.04 (lo expandiré a otras plataformas si hay interés, házmelo saber abriendo un problema)
- Un archivo de configuración de tarsnapper en
templates/tarsnapper.yml.j2
en tu playbook (cómo escribir un archivo de configuración de tarsnapper) - Un archivo de configuración de tarsnap en
templates/tarsnap.conf.j2
en tu playbook (cómo escribir un archivo de configuración de tarsnap)
Variables del Rol
variable | valor por defecto | propósito |
---|---|---|
backup__rebuild_cache |
false |
Omitirá tarsnap --fsck |
backup__tarsnap_cachedir |
/usr/local/tarsnap-cache |
Establece el directorio que tarsnap usará para almacenar en caché las copias de seguridad (cf. página man de tarsnap.conf) |
backup__tarsnap_keyfile |
/root/tarsnap.key |
Establece la ruta donde se guardará la clave de tarsnap |
backup__tarsnap_apt_key |
40B98B68F04DE775 |
ID para la clave utilizada para firmar el paquete de tarsnap |
backup__tarsnap_username |
[email protected] |
Nombre de usuario para tarsnap.com (solo necesario si deseas generar una nueva clave de tarsnap) |
backup__tarsnap_password |
encrypt me |
Contraseña para tarsnap.com (solo necesario si deseas generar una nueva clave de tarsnap) |
backup__tarsnapper_config_file |
/etc/tarsnapper.yml |
Establece la ruta donde se guardará la configuración de los trabajos de tarsnapper en el host de destino |
backup__tarsnapper_log_file |
/var/log/tarsnapper.log |
Establece la ruta donde se escribirá el registro de cronjobs |
backup__cron_{minute,hour,dom,month,dow} |
respectivamente: 28 , 3 , * , * , * |
Intervalo en el que se ejecutará tarsnap para las copias de seguridad |
Notas
Si no se encuentra un archivo de clave de tarsnap en files/{{ ansible_hostname }}.yml
, se generará una nueva clave de Tarsnap utilizando las variables backup__tarsnap_username
y
backup__tarsnap_password
, y se registrará una nueva máquina como
{{ ansible_host }}
.
Si hay una clave de tarsnap en files/{{ ansible_hostname }}.yml
, esa clave
se utilizará en su lugar y no se generará una nueva clave ni habrá registro de máquina.
Si la tarea Agregar clave apt de tarsnap
falla, significa que la clave del paquete ha cambiado
pero no he actualizado el rol aún. Verifica cuál es la clave actual en
https://www.tarsnap.com/pkg-deb.html, sobrescribe su valor con la
variable backup__tarsnap_apt_key
y abre un problema para que pueda actualizar el rol
con la nueva clave.
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: all
roles:
- role: coaxial.backup
Licencia
MIT
Información del Autor
Coaxial <64b.it>
Automated, encrypted, online backups using tarsnap
ansible-galaxy install coaxial.backup