From 5d707b4753b675f7cb7b13f3b37eed233dec2bb2 Mon Sep 17 00:00:00 2001 From: jerick Date: Tue, 15 Nov 2022 08:17:46 -0500 Subject: [PATCH] first commit --- README.md | 0 backup/desktopBackup.sh | 77 +++++++++++++++++++++++++++++++++++++++++ media/h265Batch.sh | 15 ++++++++ 3 files changed, 92 insertions(+) create mode 100644 README.md create mode 100755 backup/desktopBackup.sh create mode 100644 media/h265Batch.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/backup/desktopBackup.sh b/backup/desktopBackup.sh new file mode 100755 index 0000000..d1ec812 --- /dev/null +++ b/backup/desktopBackup.sh @@ -0,0 +1,77 @@ +#!/bin/sh + +# Setting this, so the repo does not need to be given on the commandline: +export BORG_REPO=/media/jerick/8E12F96B12F95923/LinuxBackups/ + +# See the section "Passphrase notes" for more infos. +#This uses a custom environment variable to set the passphrase +export BORG_PASSPHRASE=$JERICK_PASS + +# some helpers and error handling: +info() { printf "\n%s %s\n\n" "$( date )" "$*" >&2; } +trap 'echo $( date ) Backup interrupted >&2; exit 2' INT TERM + +info "Starting backup" + +borg create \ + --verbose \ + --filter AME \ + --list \ + --stats \ + --show-rc \ + --compression lz4 \ + --exclude-caches \ + --exclude 'home/*/.cache/*' \ + --exclude 'var/tmp/*' \ + --exclude ~/.steam \ + --exclude ~/VirtualBox\ VMs/ \ + --exclude ~/Games \ + --exclude ~/.cache \ + --exclude ~/NFSFolder \ + --exclude ~/Documents/Kingdom\ Hearts\ III\ and\ Re-Mind/ \ + \ + ::'{hostname}-{now}' \ + /etc \ + /home \ + /root \ + /var \ +backup_exit=$? + +info "Pruning repository" + +# Use the `prune` subcommand to maintain 7 daily, 4 weekly and 6 monthly +# archives of THIS machine. The '{hostname}-' prefix is very important to +# limit prune's operation to this machine's archives and not apply to +# other machines' archives also: + +borg prune \ + --list \ + --prefix '{hostname}-' \ + --show-rc \ + --keep-daily 7 \ + --keep-weekly 4 \ + --keep-monthly 6 \ + +prune_exit=$? + +# actually free repo disk space by compacting segments + +info "Compacting repository" + +borg compact + +compact_exit=$? + +# use highest exit code as global exit code +global_exit=$(( backup_exit > prune_exit ? backup_exit : prune_exit )) +global_exit=$(( compact_exit > global_exit ? compact_exit : global_exit )) + +if [ ${global_exit} -eq 0 ]; then + info "Backup, Prune, and Compact finished successfully" +elif [ ${global_exit} -eq 1 ]; then + info "Backup, Prune, and/or Compact finished with warnings" +else + info "Backup, Prune, and/or Compact finished with errors" +fi + +exit ${global_exit} diff --git a/media/h265Batch.sh b/media/h265Batch.sh new file mode 100644 index 0000000..5af5f91 --- /dev/null +++ b/media/h265Batch.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# +# This script requires HandBrakeCLI. On macOS, at least, you need to download +# and install it separately from Handbrake. +# +# See: https://handbrake.fr/downloads2.php + +if [ -z "$1" ] ; then + TRANSCODEDIR="." +else + TRANSCODEDIR="$1" +fi + # Change the preset if you like (see options: "HandBrakeCLI --preset-list") + # If you want to transcode ALL movie files, remove the -name option. + find "$TRANSCODEDIR"/* -type f -name "*.*" -exec bash -c 'HandBrakeCLI -i "$1" -o "${1%\.*}".m4v --preset="Hardware/H.265 NVENC 1080p"' __ {} \; \ No newline at end of file