All Projects → donat-b → Ansible Restic

donat-b / Ansible Restic

Licence: bsd-2-clause
Deploy restic backup program

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ansible Restic

Graylog Ansible Role
Ansible role which installs and configures Graylog
Stars: ✭ 173 (+496.55%)
Mutual labels:  ansible, ansible-role, ansible-playbook
Ansible In Action
Ansible playbook to deploy your Laravel code base to VPS
Stars: ✭ 61 (+110.34%)
Mutual labels:  ansible, ansible-role, ansible-playbook
Ansible Playbook Grapher
A command line tool to create a graph representing your Ansible playbook tasks and roles
Stars: ✭ 234 (+706.9%)
Mutual labels:  ansible, ansible-role, ansible-playbook
Centos7 Cis
Ansible CentOS 7 - CIS Benchmark Hardening Script
Stars: ✭ 64 (+120.69%)
Mutual labels:  ansible, ansible-role, ansible-playbook
Nagios Nrpe Server
Nagios NRPE Server Role for Ansible
Stars: ✭ 27 (-6.9%)
Mutual labels:  ansible, ansible-role, ansible-playbook
Ansible Rails
Ansible: Ruby on Rails Server
Stars: ✭ 317 (+993.1%)
Mutual labels:  ansible, ansible-playbook
Ansible Consul
📡 Ansible role for Hashicorp Consul clusters
Stars: ✭ 320 (+1003.45%)
Mutual labels:  ansible, ansible-role
Ansible Roles
Ansible Roles
Stars: ✭ 375 (+1193.1%)
Mutual labels:  ansible, ansible-playbook
Ansible Role Nginx
Ansible role to install and manage nginx configuration
Stars: ✭ 648 (+2134.48%)
Mutual labels:  ansible, ansible-role
RHEL7-CIS
Ansible RHEL 7 - CIS Benchmark Hardening Script
Stars: ✭ 28 (-3.45%)
Mutual labels:  ansible-playbook, ansible-role
Ansible Role Nginx
Ansible role for NGINX
Stars: ✭ 404 (+1293.1%)
Mutual labels:  ansible, ansible-role
Ansible Jupyterhub
Ansible role to setup jupyterhub server (deprecated)
Stars: ✭ 14 (-51.72%)
Mutual labels:  ansible, ansible-role
aws-lab-guide
Amazon Web Services Practice Lab Guide. Absolute beginners can try this lab practice guide.
Stars: ✭ 25 (-13.79%)
Mutual labels:  ansible-playbook, ansible-role
lykops
lykops是一套web可视化的运维自动化项目,基于python3+django开发的。可视化、简化执行ansible任务,并提供详细的任务执行报告。
Stars: ✭ 129 (+344.83%)
Mutual labels:  ansible-playbook, ansible-role
Ansible Role Conjur
Grants Conjur machine identity to hosts
Stars: ✭ 12 (-58.62%)
Mutual labels:  ansible, ansible-role
Ansible-Veeam
My Ansible Playbooks, Roles and Modules for Veeam
Stars: ✭ 21 (-27.59%)
Mutual labels:  ansible-playbook, ansible-role
Ansible Letsencrypt
An ansible role to generate TLS certificates and get them signed by Let's Encrypt
Stars: ✭ 433 (+1393.1%)
Mutual labels:  ansible, ansible-role
Openvpn
Stars: ✭ 5 (-82.76%)
Mutual labels:  ansible, ansible-role
Ansible Skeleton
The skeleton to create new ansible roles.
Stars: ✭ 5 (-82.76%)
Mutual labels:  ansible, ansible-role
Ansible Style Guide
A style guide for Ansible use in EGI
Stars: ✭ 14 (-51.72%)
Mutual labels:  ansible, ansible-role

Restic

Deploys restic binary and cron jobs to trigger restic commands

Requirements

None

Role Variables

restic_version: '0.9.2'
restic_url: ''

restic_download_path: '/opt/restic'
restic_install_path: '/usr/local/bin'

restic_jobs: []
restic_jobs_raw: []
restic_repos:
  - name: example
    url: '/backup'
    password: 'foo'
    init: True

Example configuration

# format:
# at: 'h m  dom mon dow'
# type: < 'db_mysql' | 'db_pgsql' >
restic_jobs:
  - at: '0 6  * * *'
    type: 'db_mysql'
    arg: 'blog'
  - at: '0 8  * * *'
    type: 'db_pgsql'
    arg: 'users'
    tags:
      - postgres
      - database
restic_jobs_raw:
  - command: 'restic backup /var'
    at: '0 4  * * *'
  - command: 'restic backup /home'
    at: '0 3  * * *'
    user: 'restic'
  # always keep last backup, keep daily backups for a week, weekly backups
  # for a month, as well as six monthly backups.
  - command: 'restic forget --keep-last 1 --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune'
    at: '30 22 * * 5' # every friday 22:30
    user: 'restic'

Which produces /etc/cron.d/restic-example file with the following content:

# restic backup jobs
# vi: ft=jinja.crontab

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
AWS_ACCESS_KEY_ID="ACCESS_KEY"
AWS_SECRET_ACCESS_KEY="SECRET_KEY"
RESTIC_REPOSITORY="/backup"
RESTIC_PASSWORD="foo"

0 6  * * *  root   mysqldump --routines --add-drop-table --default-character-set=utf8 blog | restic backup --stdin --stdin-filename db_mysql_blog.sql
0 8  * * *  root   su -c '/usr/bin/pg_dump --encoding=UTF8 "users"' postgres  | restic backup --stdin --stdin-filename db_pgsql_users.sql --tag postgres --tag database

0 4  * * *  root  restic backup /var
0 3  * * *  restic  restic backup /home
30 22 * * 5 restic  restic forget --keep-last 1 --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Dependencies

None

Usage

Please, see tests/test.yml for an example

License

BSD

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].