Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit 91425f54 authored by Arthur BOUDREAULT's avatar Arthur BOUDREAULT
Browse files

feat: add external backup on borg

parent 57250cd2
No related branches found
No related tags found
No related merge requests found
Pipeline #6749 failed
This commit is part of merge request !32. Comments created here will be created in the context of that merge request.
......@@ -15,4 +15,15 @@ galaxy_info:
- cloud
- web
dependencies: []
dependencies:
- role: m3nu.ansible_role_borgbackup
vars:
borg_source_directories: "{{ borg_ynh_src_dir }}"
borg_repository: "{{ borg_ynh_remote_repo }}"
borgmatic_config_name: "{{ borgmatic_conf_name }}"
borg_encryption_passphrase: "{{ borg_remote_repo_encryption_passphrase }}"
borg_retention_policy:
keep_daily: "{{ borg_days_to_keep }}"
keep_weekly: "{{ borg_weeks_to_keep }}"
keep_monthly: "{{ borg_months_to_keep }}"
borgmatic_cron_name: "{{ borgmatic_ynh_cron_name }}"
---
#-----------------------------------------------------------------------------#
# ansible-yunohost allows to deploy Yunohost using Ansible #
# Copyright 2021-present Lydra https://www.lydra.fr/ #
# #
# this program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# this program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
#-----------------------------------------------------------------------------#
- name: Configure host for Borg Remote repository
block:
- name: deploy ssh public key for BorgBackup
ansible.builtin.copy:
src: "{{ borg_ssh_keys_src }}.pub"
dest: "{{ borg_ssh_keys_dest }}.pub"
owner: "{{ admin_user }}"
group: "{{ admin_user }}"
mode: 0600
- name: deploy ssh private key for BorgBackup
ansible.builtin.copy:
src: "{{ borg_ssh_keys_src }}"
dest: "{{ borg_ssh_keys_dest }}"
owner: "{{ admin_user }}"
group: "{{ admin_user }}"
mode: 0600
- name: change ssh command in "/etc/borgmatic/{{ borgmatic_config_name }}"
ansible.builtin.lineinfile:
path: "/etc/borgmatic/{{ borgmatic_config_name }}"
regexp: "# ssh_command: ssh -i ~/.ssh/id_ed25519"
line: " ssh_command: ssh -p 7410 -o StrictHostKeychecking=no -i {{ borg_ssh_keys_dest }}"
state: present
- name: change archive name in "/etc/borgmatic/{{ borgmatic_config_name }}"
ansible.builtin.lineinfile:
path: "/etc/borgmatic/{{ borgmatic_config_name }}"
regexp: "archive_name_format:"
line: " archive_name_format: {{ borg_archive_name_format }}"
state: present
- name: Create borg command in /usr/local/bin
ansible.builtin.copy:
content: |
#!/bin/bash
. /opt/borgmatic/bin/activate
borg "$@"
dest: /usr/local/bin/borg
owner: root
group: root
mode: "0755"
- name: Initialize a new Borg remote repository
ansible.builtin.command: "{{ borg_init_command }}"
......@@ -23,3 +23,10 @@
when: ynh_backup.scheduled
tags:
- backup
- name: Use Borg Backup with YunoHost
ansible.builtin.include_tasks: borg.yml
when: ynh_backup.scheduled
tags:
- backup
- borg
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment