Compare commits
2 Commits
48b0335071
...
d555f919be
| Author | SHA1 | Date | |
|---|---|---|---|
| d555f919be | |||
| aab1ddf62c |
@ -1,12 +1,12 @@
|
||||
## The playbook first runs the 'backup.yml' from each role
|
||||
- name: create the /backup-dirs file
|
||||
- name: create the /backup-dirs file # this also runs on main in case someone doesn't run the backup.yml
|
||||
file:
|
||||
path: "/backup-dirs"
|
||||
state: "touch"
|
||||
mode: "0400"
|
||||
changed_when: "true" # we always want ti give roles a chance to register dirs
|
||||
|
||||
- name: Ensure file contains lines from array
|
||||
- name: Ensure file contains lines from array # this also runs on main in case someone doesn't run the backup.yml
|
||||
lineinfile:
|
||||
path: /backup-dirs
|
||||
line: "{{ item }}"
|
||||
|
||||
@ -1,5 +1,17 @@
|
||||
- debug:
|
||||
var: group_names
|
||||
- name: create the /backup-dirs file # this also runs on main in case someone doesn't run the backup.yml
|
||||
file:
|
||||
path: "/backup-dirs"
|
||||
state: "touch"
|
||||
mode: "0400"
|
||||
changed_when: "true" # we always want ti give roles a chance to register dirs
|
||||
|
||||
- name: Ensure file contains lines from array # this also runs on main in case someone doesn't run the backup.yml
|
||||
lineinfile:
|
||||
path: /backup-dirs
|
||||
line: "{{ item }}"
|
||||
create: yes
|
||||
state: present
|
||||
loop: "{{ extra_backup_paths }}"
|
||||
|
||||
- name: make sure restic is installed
|
||||
apt: state=latest pkg=restic
|
||||
|
||||
@ -5,28 +5,29 @@ original_dir=$(pwd)
|
||||
source ./vars.sh
|
||||
cd "$original_dir"
|
||||
|
||||
./mount.sh &
|
||||
RESTIC_PID=$!
|
||||
(
|
||||
./mount.sh &
|
||||
RESTIC_PID=$!
|
||||
|
||||
MOUNT_DIR="/mnt/restic"
|
||||
MOUNT_DIR="/mnt/restic"
|
||||
|
||||
# Wait until the directory exists
|
||||
while [ ! -d "$MOUNT_DIR" ]; do
|
||||
# Wait until the directory exists
|
||||
while [ ! -d "$MOUNT_DIR" ]; do
|
||||
echo "Waiting for directory to be created..."
|
||||
sleep 1
|
||||
done
|
||||
done
|
||||
|
||||
# Wait until the directory is not empty
|
||||
while [ ! "$(ls -A "$MOUNT_DIR")" ]; do
|
||||
# Wait until the directory is not empty
|
||||
while [ ! "$(ls -A "$MOUNT_DIR")" ]; do
|
||||
echo "Waiting for directory to have content..."
|
||||
sleep 1
|
||||
done
|
||||
done
|
||||
|
||||
# Space-separated list of absolute paths
|
||||
BACKUP_DIR="$MOUNT_DIR/snapshots/latest"
|
||||
# Space-separated list of absolute paths
|
||||
BACKUP_DIR="$MOUNT_DIR/snapshots/latest"
|
||||
|
||||
# Iterate over each path in the array
|
||||
while IFS= read -r ORIGINAL_PATH; do
|
||||
# Iterate over each path in the array
|
||||
while IFS= read -r ORIGINAL_PATH; do
|
||||
# Skip empty paths
|
||||
[[ -z "$ORIGINAL_PATH" ]] && continue
|
||||
|
||||
@ -47,9 +48,10 @@ while IFS= read -r ORIGINAL_PATH; do
|
||||
|
||||
# Use rsync to copy files, preserving permissions, ownership, and timestamps
|
||||
rsync --archive --acls --xattrs --compress --verbose --human-readable --partial --progress "$BACKUP_PATH/" "$ORIGINAL_PATH/"
|
||||
done </backup-dirs
|
||||
done </backup-dirs
|
||||
|
||||
kill -SIGINT $RESTIC_PID
|
||||
umount /mnt/restic
|
||||
kill -SIGINT $RESTIC_PID
|
||||
umount /mnt/restic
|
||||
|
||||
echo "DONE"
|
||||
echo "DONE"
|
||||
) >"/var/log/backup-restore-$(date +%s).log"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user