29 lines
939 B
Bash
Executable file
29 lines
939 B
Bash
Executable file
#!/bin/bash
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
# Copyright (C) 2020-present Fewtarius
|
|
|
|
CONFIGPATH="/storage/.config"
|
|
|
|
if [ -e "${CONFIGPATH}/rsync.conf" ]
|
|
then
|
|
source ${CONFIGPATH}/rsync.conf
|
|
fi
|
|
|
|
# If rsync.conf is missing variables set defaults
|
|
MOUNTPATH="${MOUNTPATH:=/storage/cloud}"
|
|
SYNCPATH="${SYNCPATH:=GAMES}"
|
|
BACKUPPATH="${BACKUPPATH:=/storage/roms}"
|
|
RSYNCOPTSBACKUP="${RSYNCOPTSBACKUP:=--raiv --prune-empty-dirs}"
|
|
|
|
echo -e "=> ${OS_NAME} CLOUD BACKUP UTILITY\n" >/dev/console
|
|
|
|
echo "Mounting ${MOUNTPATH}" >/dev/console 2>&1
|
|
rclonectl mount ${MOUNTPATH} >/dev/console 2>&1
|
|
|
|
echo "Backing up data from ${BACKUPPATH} to ${MOUNTPATH}/${SYNCPATH}" >/dev/console 2>&1
|
|
rsync ${RSYNCOPTSBACKUP} --include-from="${CONFIGPATH}/rsync-rules.conf" ${BACKUPPATH}/ ${MOUNTPATH}/${SYNCPATH}/ >/dev/console 2>&1
|
|
|
|
echo "Unmounting ${MOUNTPATH}" >/dev/console 2>&1
|
|
rclonectl unmount ${MOUNTPATH} >/dev/console 2>&1
|
|
sleep 3
|
|
clear >/dev/console
|