#!/bin/bash
# {{ ansible_managed }}

EMAIL_ADDRESS="blaine@nas.home.lan"
LOG_FILE="/var/log/rclone.log"

LOG_DIR="/var/log/rclone/$(date +%Y-%m-%d)"

mkdir -p "$LOG_DIR"

# Photos 
PHOTOS_LOG="/tmp/b2-photos.log"
> $PHOTOS_LOG
echo "Starting backup of photos..." | ts >> "$LOG_FILE"
#/usr/bin/rclone copy /mnt/nas/private/Photos b2-photos:current --backup-dir=b2-photos:old --suffix=-$(date +%Y-%m-%d) --fast-list --suffix-keep-extension --exclude "*DS_Store" --log-file=$PHOTOS_LOG | ts | tee -a "$LOG_FILE"
/usr/bin/rclone copy /mnt/nas/private/Photos b2-photos:current --fast-list --immutable --exclude "*DS_Store" --log-file=$PHOTOS_LOG -v | ts | tee -a "$LOG_FILE"

if [[ $? > 0 ]]; then
  mail -s "[$(hostname)] rclone - Photos Backup Error" "$EMAIL_ADDRESS" < $PHOTOS_LOG
fi

mv "$PHOTOS_LOG" "$LOG_DIR"

echo "Finished backing up photos" | ts >> "$LOG_FILE"


# Data
DATA_LOG="/tmp/b2-data.log"
> $DATA_LOG
echo "Starting backup of data..." | ts >> "$LOG_FILE"
/usr/bin/rclone copy /mnt/nas/private/Data b2-data:current --backup-dir=b2-data:old --suffix=-$(date +%Y-%m-%d) --fast-list --suffix-keep-extension --exclude "*DS_Store" --log-file=$DATA_LOG -v | ts | tee -a "$LOG_FILE"

if [[ $? > 0 ]]; then
  mail -s "[$(hostname)] rclone - Data Backup Error" "$EMAIL_ADDRESS" < $PHOTOS_LOG
fi

mv "$DATA_LOG" "$LOG_DIR"

echo "Finished backing up data" | ts >> "$LOG_FILE"


# Music
MUSIC_LOG="/tmp/b2-music.log"
> $MUSIC_LOG
echo "Starting backup of music..." | ts >> "$LOG_FILE"
/usr/bin/rclone copy /mnt/nas/public b2-music:current --backup-dir=b2-music:old --suffix=-$(date +%Y-%m-%d) --fast-list --suffix-keep-extension --include=Music/** --include="Music Videos"/** --log-file=$MUSIC_LOG -v | ts | tee -a "$LOG_FILE"

if [[ $? > 0 ]]; then
  mail -s "[$(hostname)] rclone - Music Backup Error" "$EMAIL_ADDRESS" < $MUSIC_LOG
fi

mv "$MUSIC_LOG" "$LOG_DIR"

echo "Finished backing up music" | ts >> "$LOG_FILE"

# Recipes
RECIPES_LOG="/tmp/b2-recipes.log"
> $RECIPES_LOG
echo "Starting backup of recipes..." | ts >> "$LOG_FILE"
/usr/bin/rclone copy /mnt/nas/public b2-data:current --backup-dir=b2-data:old --suffix=-$(date +%Y-%m-%d) --fast-list --suffix-keep-extension --include=Recipes/**  --log-file=$RECIPES_LOG -v | ts | tee -a "$LOG_FILE"

if [[ $? > 0 ]]; then
  mail -s "[$(hostname)] rclone - Recipes Backup Error" "$EMAIL_ADDRESS" < $RECIPES_LOG
fi

mv "$RECIPES_LOG" "$LOG_DIR"

echo "Finished backing up recipes" | ts >> "$LOG_FILE"