This Ansible role is used for deploying a backup script on a Debian server and then putting the backups in an S3 bucket on AWS.
- SSH access to the server
- aws-cli on your computer
pip3 install -r requirements.txt
ansible-galaxy collection install -r requirements.yml
---
customer: yourcustomer # used for naming resources
app: myapplication # Used for naming resources
jira_key: APP # Used for tagging resource in AWS
# S3 settings
aws_profile: default
s3_human_readable_sizes: true
# MySQL database backup options.
backup_mysql_user: backup
backup_mysql_password: y0urverys3curep4ss
# Script settings
retentiontime: 30 days
directory: daily
minimal_backups: 5
# Backup cron job options.
backup_cron_job_state: present
backup_hour: "3"
backup_minute: "00"
# User under which backup jobs will run.
backup_user: root
# Path to where backups configuration will be stored.
backup_path: /{{ backup_user }}/backup
#!/usr/bin/env ansible-playbook
- hosts: production
name: Database backup to S3 script
become: true
become_user: root
roles:
- skrepr.backup
MIT / BSD
This role was created in 2023 by Jeroen van der Meulen, commisioned by Skrepr