mirror of
https://github.com/Crocmagnon/ansible.git
synced 2024-11-25 08:48:03 +01:00
45 lines
1.1 KiB
Bash
Executable file
45 lines
1.1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Change all the variables below to suit your needs:
|
|
SOURCE_DIRECTORY="/mnt/backup/nextcloud/borg"
|
|
RCLONE_CONFIG="borgbase-nextcloud-aio"
|
|
|
|
TARGET_DIRECTORY="repo"
|
|
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "run as root"
|
|
output 1
|
|
fi
|
|
|
|
if ! [ -d "$SOURCE_DIRECTORY" ]; then
|
|
echo "The root directory does not exist."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$(ls -A "$SOURCE_DIRECTORY/")" ]; then
|
|
echo "The source directory is empty, which is not allowed."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -f "$SOURCE_DIRECTORY/lock.roster" ]; then
|
|
echo "Unable to execute the script as the backup archive is currently modified. Please try again later."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -f "$SOURCE_DIRECTORY/aio-lockfile" ]; then
|
|
echo "Cannot continue because aio-lockfile already exists."
|
|
exit 1
|
|
fi
|
|
|
|
touch "$SOURCE_DIRECTORY/aio-lockfile"
|
|
|
|
|
|
if ! rclone sync -v --exclude aio-lockfile "$SOURCE_DIRECTORY/" "$RCLONE_CONFIG:$TARGET_DIRECTORY"; then
|
|
echo "Failed to synchronise the backup repository with the target directory."
|
|
rm "$SOURCE_DIRECTORY/aio-lockfile"
|
|
exit 1
|
|
fi
|
|
|
|
rm "$SOURCE_DIRECTORY/aio-lockfile"
|
|
|
|
echo "Done"
|