aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Lemon <y@yulqen.org>2024-12-03 11:53:30 +0000
committerMatthew Lemon <y@yulqen.org>2024-12-03 11:53:30 +0000
commita3858f85de6cb1e486b6be0256affd29fd49f821 (patch)
tree42b445caf096cbbfc98b984696f95de541fe20b2
parent30bb53c4b8a4eb7747e12bc930161892127fc93a (diff)
Adds a couple
-rwxr-xr-xbackup-to-borg_on_cron_debian.sh93
-rwxr-xr-xlaunch-orbx-central.sh7
2 files changed, 100 insertions, 0 deletions
diff --git a/backup-to-borg_on_cron_debian.sh b/backup-to-borg_on_cron_debian.sh
new file mode 100755
index 0000000..4c3a7ee
--- /dev/null
+++ b/backup-to-borg_on_cron_debian.sh
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+# Setting this, so the repo does not need to be given on the commandline:
+export BORG_REPO=ssh://u423613@u423613.your-storagebox.de:23/~/backups/matt_desktop
+
+# See the section "Passphrase notes" for more infos.
+export BORG_PASSPHRASE='unrevised -equation -bovine -spring'
+
+# 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"
+
+# Backup the most important directories into an archive named after
+# the machine this script is currently running on:
+
+borg create \
+ --verbose \
+ --filter AME \
+ --list \
+ --stats \
+ --show-rc \
+ --compression lz4 \
+ --exclude-caches \
+ --exclude 'home/*/.cache/*' \
+ --exclude '*/cache/*' \
+ --exclude '*Factorio/*' \
+ --exclude '*Trash/*' \
+ --exclude '*Zeal/*' \
+ --exclude '*.m2l/*' \
+ --exclude '*.local/share/*' \
+ --exclude '*.fgfs/*' \
+ --exclude '*/Steam/*' \
+ --exclude '*.mozilla/*' \
+ --exclude '*.venv/*' \
+ --exclude '*/venv/*' \
+ --exclude '*node_modules/*' \
+ --exclude '*.vscode/*' \
+ --exclude '*annex/*' \
+ --exclude '*ai_models/*' \
+ --exclude '*safetensors' \
+ --exclude '*lemon/X-Plane 12/*' \
+ --exclude '*.npm/*' \
+ --exclude '*perl5/*' \
+ --exclude '*vms/*' \
+ --exclude '*.yarn/*' \
+ \
+ ::'{hostname}-{now}' \
+ /etc \
+ /home \
+ /root \
+
+backup_exit=$?
+
+info "Pruning repository"
+
+# Use the `prune` subcommand to maintain 7 daily, 4 weekly and 6 monthly
+# archives of THIS machine. The '{hostname}-*' matching is very important to
+# limit prune's operation to this machine's archives and not apply to
+# other machines' archives also:
+
+borg prune \
+ --list \
+ --glob-archives '{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/launch-orbx-central.sh b/launch-orbx-central.sh
new file mode 100755
index 0000000..98909c2
--- /dev/null
+++ b/launch-orbx-central.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+DIR=$HOME/Flight_Sim_Downloads/Orbx
+
+binary=$(ls $DIR)
+$("$DIR/$binary" --disable-gpu-sandbox)
+