Update rclone.sh

This commit is contained in:
2018-01-10 10:05:02 -05:00
parent 12b9d51fca
commit 033c2e807c

View File

@@ -1,22 +1,61 @@
#!/bin/bash
RCLONE_DIR="/mnt/data-pool/rclone"
RCLONE_LOGS="${RCLONE_DIR}/logs"
RCLONE_CONFIG="${RCLONE_DIR}/rclone.conf"
RCLONE_BIN="${RCLONE_DIR}/rclone"
RCLONE_COMMAND="${RCLONE_BIN} --config ${RCLONE_CONFIG} --verbose --log-file"
# media
${RCLONE_COMMAND} "${RCLONE_LOGS}/media/rclone_media_`date +%Y%m%d-%H%M%S`.log" copy /mnt/media/plex/.local_media/ gd:Media
# Variables
RCLONE_DIR="/mnt/data-pool/rclone"
RCLONE_LOGS="${RCLONE_DIR}/logs"
RCLONE_CONFIG="${RCLONE_DIR}/rclone.conf"
RCLONE_BIN="${RCLONE_DIR}/rclone"
RCLONE_COMMAND="${RCLONE_BIN} --config ${RCLONE_CONFIG} --log-level INFO --log-file"
PIDFILE="${RCLONE_DIR}/rclone.sh.pid"
# Proxmox Backups
${RCLONE_COMMAND} "${RCLONE_LOGS}/proxmox/rclone_proxmox_`date +%Y%m%d-%H%M%S`.log" copy /mnt/data-pool/proxmox/dump gauntnas:"Backups/Proxmox Backups/"
# removes pid file and exit cleany
function clean-up {
# Gzip Log files
find ${RCLONE_LOGS} -type f ! -name '*.gz' -exec pigz "{}" \;
# remove the pid file
rm -f ${PIDFILE}
# exit with clean code
exit 0
}
# Software Backups
${RCLONE_COMMAND} "${RCLONE_LOGS}/software/rclone_software_`date +%Y%m%d-%H%M%S`.log" --backup-dir gauntnas:Deleted/`date +%Y%m%d-%H%M%S`/Software/ sync /mnt/data-pool/software/ gauntnas:Software
# Look for exits in the program and make sure to call the clean-up function
trap clean-up SIGHUP SIGINT SIGTERM
# NextCloud files backed up to both Google Drive and BackBlaze B2
# Check to see if app is running or not
if [ -f ${PIDFILE} ]; then
PID=$(cat "${PIDFILE}")
ps -p "${PID}" > /dev/null 2>&1
if [ $? -eq 0 ]; then
# "Previous job, ${PID}, is already running"
exit 1
else
## Process not found assume not running
echo $$ > "${PIDFILE}"
if [ $? -ne 0 ]; then
# "Could not create PID file"
exit 1
fi
fi
else
echo $$ > "${PIDFILE}"
if [ $? -ne 0 ]; then
# "Could not create PID file"
exit 1
fi
fi
# Upload EncFS encrypted media to Google Drive
${RCLONE_COMMAND} "${RCLONE_LOGS}/media/rclone_media_gd_`date +%Y%m%d-%H%M%S`.log" copy /mnt/media/plex/.local_media/ gd:Media
# Upload rclone encrypted proxmox backups to Google Drive
${RCLONE_COMMAND} "${RCLONE_LOGS}/proxmox/rclone_proxmox_gd_`date +%Y%m%d-%H%M%S`.log" sync /mnt/data-pool/proxmox/dump gauntnas:"Backups/Proxmox Backups/"
# Upload rclone encrypted software to Google Drive
${RCLONE_COMMAND} "${RCLONE_LOGS}/software/rclone_software_gd_`date +%Y%m%d-%H%M%S`.log" --backup-dir gauntnas:Deleted/`date +%Y%m%d-%H%M%S`/Software/ sync /mnt/data-pool/software/ gauntnas:Software
# Upload rclone encrypted Nextcloud files to Google Drive and BackBlaze B2
${RCLONE_COMMAND} "${RCLONE_LOGS}/nextcloud/rclone_nextcloud_gd_`date +%Y%m%d-%H%M%S`.log" sync /mnt/data-pool/nextcloud/ gauntnas:Nextcloud
${RCLONE_COMMAND} "${RCLONE_LOGS}/nextcloud/rclone_nextcloud_b2__`date +%Y%m%d-%H%M%S`.log" --transfers 10 sync /mnt/data-pool/nextcloud/ b2-crypt:
${RCLONE_COMMAND} "${RCLONE_LOGS}/nextcloud/rclone_nextcloud_b2_`date +%Y%m%d-%H%M%S`.log" --transfers 10 --fast-list sync /mnt/data-pool/nextcloud/ b2-crypt:
# Gzip Log files
find ${RCLONE_LOGS} -type f ! -name '*.gz' -exec gzip "{}" \;
# exit the program
clean-up