#!/bin/sh # This script backs up some important stuff # This is the version for my home server # force script to run as specific user if [ "$(id -u)" -eq 0 ]; then exec sudo -H -u sintan $0 "$@" fi # Run only one instance of this script at one time [ "${BKLOCKER}" != "running" ] && exec env BKLOCKER="running" flock -en "/tmp/impfilesbk.lock" "$0" "$@" || : # Setup location for home and backup directory HMDIR="/home/sintan" BKDIR="/mnt/storage" echo `date` "| Backing up PhotoPrism index..." | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats "$HMDIR/Docker/photoprism/storage/index-backup.sql" "$BKDIR/Programs/Docker/PhotoPrism/index-backup-"$(date +%A)".sql" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo $'\n'`date` "| Done!" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo "--------------------------------------------------" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo `date` "| Backing up arr index..." | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats "$HMDIR/Docker/arr/config_sonarr/Backups/" "$BKDIR/Programs/Docker/arr-backups/sonarr/" | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats "$HMDIR/Docker/arr/config_prowlarr/Backups/" "$BKDIR/Programs/Docker/arr-backups/prowlarr/" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo $'\n'`date` "| Done!" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo `date` "| Backing up qBittorrent config..." | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats "$HMDIR/Docker/qbt+gluetun/qbt-config/" "$BKDIR/Programs/Docker/qBittorrent-config/" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo $'\n'`date` "| Done!" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo "--------------------------------------------------" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo `date` "| Backing up simply-shorten database..." | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats "$HMDIR/Docker/simply-shorten/urls.sqlite" "$BKDIR/Programs/Docker/simply-shorten-backup.sqlite" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo $'\n'`date` "| Done!" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo "--------------------------------------------------" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo `date` "| Backing up Docker compose files..." | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats --prune-empty-dirs -f '- /*/*/' "$HMDIR/Docker/" "$BKDIR/Programs/Docker/DockerCompose/" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo $'\n'`date` "| Done!" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo "--------------------------------------------------" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo `date` "| Backing up installer scripts..." | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats "$HMDIR/installer-scripts/" "$BKDIR/Programs/installer-scripts/" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo $'\n'`date` "| Done!" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo "--------------------------------------------------" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo `date` "| Backing up some dotfiles..." | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats --quiet --no-links --exclude={'*cache*','*Cache*'} --delete-excluded "$HMDIR/.config/" "$BKDIR/dotfiles_server/[dot]config/" | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats "$HMDIR/.bash_profile" "$BKDIR/dotfiles_server/[dot]bash_profile" | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats "$HMDIR/.bashrc" "$BKDIR/dotfiles_server/[dot]bashrc" | tee -a "$BKDIR/TempStorage/impfilesbk.log" # rsync -aAXH --delete --stats "$HMDIR/.Xresources" "$BKDIR/dotfiles_server/[dot]Xresources" | tee -a "$BKDIR/TempStorage/impfilesbk.log" # rsync -aAXH --delete --stats "$BKDIR/dotfiles/[dot]local_bin_personal/" "$HMDIR/.local/bin/personal/" | tee -a "$BKDIR/TempStorage/impfilesbk.log" rsync -aAXH --delete --stats "$HMDIR/.ssh/" "$BKDIR/dotfiles_server/[dot]ssh/" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo $'\n'`date` "| Done!" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo $'\n'"--------------------------------------------------" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | tee -a "$BKDIR/TempStorage/impfilesbk.log" echo "--------------------------------------------------" | tee -a "$BKDIR/TempStorage/impfilesbk.log" # Make the new files visible over samba chcon -R -t samba_share_t /mnt/storage/Programs/ chcon -R -t samba_share_t /mnt/storage/dotfiles_server/