From c2e93fd7beeaf2d60fe5a2e8dc4033b74ec2ab0d Mon Sep 17 00:00:00 2001 From: nd <git@notandy.de> Date: Sat, 19 Dec 2020 22:32:18 +0100 Subject: [PATCH] added backups --- defaults/main.yml | 3 +++ tasks/backup.yml | 21 +++++++++++++++++++++ tasks/main.yml | 4 ++++ 3 files changed, 28 insertions(+) create mode 100644 tasks/backup.yml diff --git a/defaults/main.yml b/defaults/main.yml index 15b357e..fa84e21 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,2 +1,5 @@ mongodb: version: "4.2" + backup: + enable: true + keep_days: 2 diff --git a/tasks/backup.yml b/tasks/backup.yml new file mode 100644 index 0000000..fa405ab --- /dev/null +++ b/tasks/backup.yml @@ -0,0 +1,21 @@ +- name: add mongodb backup folder + file: + path: /opt/mongodbbackup/ + state: directory + owner: root + group: root + mode: '750' + +- name: add backup cronjob for easier backup/restore + cron: + name: mongodb backup + job: '/usr/bin/mongodump --gzip --archive=/opt/mongodbbackup/$(date "+\%Y\%m\%d-\%H\%M.dump.gz")' + user: root + hour: "*/4" + minute: 45 + +- name: add backup cleanup cronjob + cron: + name: mongodb backup cleanup + job: 'find /opt/mongodbbackup/* -mtime +{{ mongodb.backup.keep_days }} -type f -exec rm {} \;' + special_time: daily diff --git a/tasks/main.yml b/tasks/main.yml index 97844b6..1b0e2b0 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -12,3 +12,7 @@ name: mongod daemon_reload: yes enabled: yes + +- include_tasks: backup.yml + when: + - mongodb.backup.enable -- GitLab