|  | @@ -0,0 +1,90 @@
 | 
	
		
			
				|  |  | +#!/bin/bash
 | 
	
		
			
				|  |  | +# {{ ansible_managed }}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +EMAIL_ADDRESS="root@localhost"
 | 
	
		
			
				|  |  | +LOG_FILE="/var/log/rclone/rclone-$(date +%Y-%m-%d).log"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +{% if backups is defined and 'containers' in backups %}
 | 
	
		
			
				|  |  | +{% if containers is defined %}
 | 
	
		
			
				|  |  | +echo "### START CONTAINERS ###" | ts >> "$LOG_FILE"
 | 
	
		
			
				|  |  | +{% for container in containers %}
 | 
	
		
			
				|  |  | +{% if container.volumes is defined %}
 | 
	
		
			
				|  |  | +{% for volume in container.volumes %}
 | 
	
		
			
				|  |  | +echo "Starting backup of container '{{ container.service_name }}' volume '{{ volume | regex_replace(':.*') }}'." | ts >> "$LOG_FILE"
 | 
	
		
			
				|  |  | +/usr/bin/rclone copy {{ volume | regex_replace(':.*') }}/ b2-container-data:current/{{ ansible_hostname }}/{{ container.service_name }}/{{ volume | regex_replace(':.*') | basename }} \
 | 
	
		
			
				|  |  | +      --backup-dir=b2-container-data:old/{{ ansible_hostname }}/{{ container.service_name }}/{{ volume | regex_replace(':.*') | basename }} \
 | 
	
		
			
				|  |  | +      --suffix=-$(date +%Y-%m-%d) \
 | 
	
		
			
				|  |  | +      --fast-list \
 | 
	
		
			
				|  |  | +      --suffix-keep-extension \
 | 
	
		
			
				|  |  | +      --exclude "*log" \
 | 
	
		
			
				|  |  | +      --log-file="$LOG_FILE" -v
 | 
	
		
			
				|  |  | +echo "Finished backup of container '{{ container.service_name }}' volume '{{ volume | regex_replace(':.*') }}'." | ts >> "$LOG_FILE"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +{% endfor %}
 | 
	
		
			
				|  |  | +{% endif %}
 | 
	
		
			
				|  |  | +{% endfor %}
 | 
	
		
			
				|  |  | +{% endif %} 
 | 
	
		
			
				|  |  | +{% endif %}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +{% if ansible_hostname == 'tvheadend' %}
 | 
	
		
			
				|  |  | +## 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"
 | 
	
		
			
				|  |  | +{% endif %}
 |