diff --git a/group_vars/all.yml b/group_vars/all.yml index 26b96bb5..b6bb604c 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -17,10 +17,12 @@ **/**cache***/** **/**Cache***/** **/**AppData***/** + # https://github.com/restic/restic/issues/1005 + # https://forum.restic.net/t/exclude-syntax-confusion/1531/12 restic_mount_timeout: "10 min" restic_failure_delay: "30 s" restic_schedule: "0/6:00" - restic_folders_to_backup: "/usr/local /etc /root /var/www /home" + restic_folders_to_backup: "/" # --one-file-system ist gesetzt, also werden weitere Dateisysteme nicht eigeschlossen, es sei denn sie werden hier explizit angegeben; https://restic.readthedocs.io/en/latest/040_backup.html#excluding-files restic_repository: "//fileserver2.grote.lan/restic" restic_repository_password: "{{ lookup('keepass', 'restic_repository_password', 'password') }}" restic_mount_user: restic diff --git a/group_vars/ansible.yml b/group_vars/ansible.yml index f1ff0834..a295413d 100644 --- a/group_vars/ansible.yml +++ b/group_vars/ansible.yml @@ -10,8 +10,6 @@ ### geerlingguy.ansible ansible_install_method: pip ansible_install_version_pip: '2.10' - ### mgrote.restic - restic_folders_to_backup: "/usr/local /etc /root /home" ### mgrote.apt_manage_packages apt_packages_extra: - sshpass diff --git a/group_vars/docker.yml b/group_vars/docker.yml index 0ec7bfa9..47c25fa2 100644 --- a/group_vars/docker.yml +++ b/group_vars/docker.yml @@ -24,18 +24,5 @@ pip_package: python3-pip pip_install_packages: - name: docker # für munin-plugin docker_ - ### mgrote.restic - restic_cron_hours: "*/6" - restic_exclude: | - ._* - desktop.ini - .Trash-* - **/**cache***/** - **/**Cache***/** - **/**AppData***/** - /var/lib/docker/volumes/***Musik*** - /var/lib/docker/volumes/***musik*** - # https://github.com/restic/restic/issues/1005 - # https://forum.restic.net/t/exclude-syntax-confusion/1531/12 ### mgrote.docker-compose-deploy docker_compose_base_dir: /home/mg/docker diff --git a/group_vars/dokuwiki.yml b/group_vars/dokuwiki.yml index 79dfff3d..36b0f459 100644 --- a/group_vars/dokuwiki.yml +++ b/group_vars/dokuwiki.yml @@ -1,6 +1,4 @@ --- - ### mgrote.restic - restic_folders_to_backup: /usr/local /etc /root /var/www /home ### oefenweb.ufw ufw_rules: - rule: allow diff --git a/group_vars/gitea.yml b/group_vars/gitea.yml index be37a254..a3263df6 100644 --- a/group_vars/gitea.yml +++ b/group_vars/gitea.yml @@ -1,6 +1,4 @@ --- - ### mgrote.restic - restic_folders_to_backup: "/usr/local /etc /root /var/lib /home" ### oefenweb.ufw ufw_rules: - rule: allow diff --git a/group_vars/laptop.yml b/group_vars/laptop.yml index 5c91b315..2a21287c 100644 --- a/group_vars/laptop.yml +++ b/group_vars/laptop.yml @@ -29,7 +29,6 @@ - path: /home/mg/.config/alacritty - path: /home/mg/.config/.ssh - path: /home/mg/.config/flameshot - dotfiles_owner: mg ### mgrote.apt_manage_packages apt_packages_extra: diff --git a/group_vars/proxmox.yml b/group_vars/proxmox.yml index a4f73c9e..66a86009 100644 --- a/group_vars/proxmox.yml +++ b/group_vars/proxmox.yml @@ -1,4 +1,10 @@ --- + ### mgrote.restic + restic_folders_to_backup: "/ /etc/pve" + ### mgrote.restic + #restic_exclude: | + # /hdd_data_raidz/** + # /rpool/** ### mgrote.user users: - username: root diff --git a/host_vars/docker-test.grote.lan.yml b/host_vars/docker-test.grote.lan.yml index ca27f266..7ec3b1da 100644 --- a/host_vars/docker-test.grote.lan.yml +++ b/host_vars/docker-test.grote.lan.yml @@ -38,6 +38,3 @@ protocol: tcp comment: 'munin' from_ip: 0.0.0.0/0 - - ### mgrote.restic - restic_folders_to_backup: /usr/local /etc /root /home diff --git a/host_vars/docker2.grote.lan.yml b/host_vars/docker2.grote.lan.yml index 10d5c3f3..10c26483 100644 --- a/host_vars/docker2.grote.lan.yml +++ b/host_vars/docker2.grote.lan.yml @@ -220,5 +220,3 @@ env.max_time 20 env.short_label true env.follow_redirect true - ### mgrote.restic - restic_folders_to_backup: /usr/local /etc /root /home /var/lib/docker diff --git a/host_vars/docker3.grote.lan.yml b/host_vars/docker3.grote.lan.yml index ffb8978c..92615dce 100644 --- a/host_vars/docker3.grote.lan.yml +++ b/host_vars/docker3.grote.lan.yml @@ -75,5 +75,3 @@ env.max_time 20 env.short_label true env.follow_redirect true - ### mgrote.restic - restic_folders_to_backup: /usr/local /etc /root /home /var/lib/docker diff --git a/host_vars/docker4.grote.lan.yml b/host_vars/docker4.grote.lan.yml index b369328f..d5cdbe2a 100644 --- a/host_vars/docker4.grote.lan.yml +++ b/host_vars/docker4.grote.lan.yml @@ -19,9 +19,6 @@ repository_user: mg repository_user_password: "{{ lookup('keepass', 'gitea_mg_https_password', 'password') }}" - ### mgrote.restic - restic_folders_to_backup: /usr/local /etc /root /home - ### geerlingguy.munin-node munin_node_plugins: - name: timesync diff --git a/roles/mgrote.restic/templates/restic.service.j2 b/roles/mgrote.restic/templates/restic.service.j2 index 20ac3d16..76d5b976 100644 --- a/roles/mgrote.restic/templates/restic.service.j2 +++ b/roles/mgrote.restic/templates/restic.service.j2 @@ -8,7 +8,8 @@ OnFailure=restic_mail.service [Service] Type=simple EnvironmentFile={{ restic_conf_dir }}/restic.env -ExecStart=/usr/bin/restic backup --no-cache --exclude-file {{ restic_conf_dir }}/excludes {{ restic_folders_to_backup }} +ExecStart=/usr/bin/restic backup --one-file-system --no-cache --iexclude-file {{ restic_conf_dir }}/excludes {{ restic_folders_to_backup }} +{# -iexclude-file Same as exclude-file but ignores cases like in --iexclude; https://restic.readthedocs.io/en/latest/040_backup.html #} User={{ restic_user }} Group={{ restic_group }} RestartSec={{ restic_failure_delay }}