newtonne.backup

Rol de Ansible: Copia de Seguridad

CI

Instala y configura borgmatic y borg para la copia de seguridad automatizada de archivos, así como bases de datos MySQL y PostgreSQL.

Requisitos

Requisitos opcionales:

  • cron debe estar instalado para automatizar las copias de seguridad.

  • Debe estar instalado MySQL o una base de datos compatible con MySQL para realizar copias de seguridad de bases de datos MySQL. Lo mismo para bases de datos PostgreSQL.

Variables de Rol

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml):

Configuración relacionada con Borgmatic

backup_directories: []

La lista de directorios (o archivos individuales) para copiar.

backup_mysql_databases: []

La lista de bases de datos MySQL para hacer copia de seguridad. Consulte borgmatic - ganchos de volcado de base de datos para más información.

backup_postgresql_databases: []

La lista de bases de datos PostgreSQL para hacer copia de seguridad. Consulte borgmatic - ganchos de volcado de base de datos para más información.

backup_repositories: []

La lista de repositorios borg a los que hacer copia de seguridad. Deben ser creados previamente usando borg init. También consulte documentación de borg sobre URL de repositorios.

backup_location_options: {}
backup_storage_options: {}
backup_retention_options: {}
backup_consistency_options: {}
backup_hooks_options: {}

Estas variables se pueden usar para proporcionar configuración adicional a borgmatic, como la frase de paso de cifrado para el repositorio borg o scripts/comandos de gancho alternativos. Consulte el esquema de borgmatic para la lista completa de opciones de configuración.

backup_hooks_globlist: hooks/*

Los patrones glob que la búsqueda de archivo glob utilizará para encontrar scripts de gancho en la máquina de control.

backup_hooks_directory: /etc/borgmatic/hooks

El directorio al que se copiarán los scripts de gancho borgmatic encontrados por los patrones glob anteriores.

General

backup_cron_jobs
  - schedule: "0 3 * * *"
#   action: create

La lista de especificaciones de tiempo de cron y acciones a realizar. Si no se especifica ninguna acción, borgmatic realizará todas las acciones, es decir, poda, crear y verificar (ver documentos de borgmatic - configurar copias de seguridad). Si se deja en blanco, no se configurará ningún crontab.

backup_cron_path: "{{ backup_borg_path | dirname }}:/usr/bin:/bin"

El valor de $PATH que se configurará en la parte superior del crontab.

backup_verbosity: 0

La verbosidad con la que se ejecutará borgmatic. Consulte referencia de línea de comando de borgmatic.

backup_user: root

El usuario que ejecutará las copias de seguridad y será el propietario de los archivos y directorios relacionados con la copia de seguridad.

backup_group: root

El grupo que será propietario de los archivos y directorios relacionados con la copia de seguridad.

backup_config_directory: /etc/borgmatic

El directorio en el que se colocará el archivo de configuración de borgmatic.

backup_log_file: /var/log/borgmatic.log

El archivo en el que se registrará la salida de borgmatic.

Instalación relacionada

backup_borg_keyserver: hkps://keys.openpgp.org

El servidor de claves GPG desde el cual descargar la clave pública de borg.

backup_borg_gpg_fpr: 6D5BEF9ADD2075805747B70F9F88FB52FAF7B393

El huella digital de la clave pública de borg. Consulte documentación de borg - seguridad.

backup_borg_url: https://github.com/borgbackup/borg/releases/download

La URL desde la que descargar el binario de borg.

backup_borg_asset: borg-linux{{ ansible_architecture [-2:] }}

El nombre del activo binario de borg a descargar.

backup_borg_version: 1.1.17

La versión del binario de borg a descargar.

backup_borg_path: /usr/local/bin/borg

La ruta donde se instalará el binario de borg. Tenga en cuenta que no se intentará instalar borg si este archivo ya existe.

backup_borgmatic_version: 1.5.20

La versión de borgmatic a instalar usando pip.

backup_borgmatic_venv: /etc/borgmatic/venv

El entorno virtual en el que pip instalará borgmatic. Se creará si no existe.

Dependencias

Ninguna

Ejemplo de Playbook

- hosts: servers

  vars:
    backup_directories:
      - /etc/myapp
      - /var/myapp
    backup_repositories:
      - user@host1:server_backup1
      - user@host2:server_backup2
    backup_storage_options:
      encryption_passphrase: secretpassword
    backup_retention_options:
      keep_daily: 7
      keep_weekly: 4
    backup_cron_jobs:
      - schedule: "0 2 * * *"

  roles:
     - { role: newtonne.backup }

Licencia

MIT

Acerca del proyecto

Backup files, and MySQL and PostgreSQL databases using borg and borgmatic.

Instalar
ansible-galaxy install newtonne.backup
Licencia
mit
Descargas
151
Propietario