1
1
Fork 0
scripts/README.md

2.6 KiB

scripts

My personal collection of handy scripts. mostly bash.

Name Description
ci.sh A poor man's CI system
restic-backup.sh Simple wrapper script for Restic

ci.sh

Install

Clone this repository anywhere on your system and link it into your $PATH.

sudo su; cd
git clone https://git.socialnerds.org/david/scripts.git
ln -s /root/scripts/ci.sh /usr/local/bin/ci

Usage

Usage:
ci <options> <git-repo>

Options:
  -s, --scripts <DIR>  Specify the scripts directory (default: /root/ci-scripts)
  -c, --checks <URL>   Enable healthchecks.io integration
  -n, --ntfy <URL>     Enable ntfy.sh integration
  -h, --help           Print help screen and exit
  -i, --info           Print script information and exit
  -v, --verbose        More verbose output
  -q, --quiet          No output except errors (overrides -v)

restic-backup.sh

This script is my very simple take on how to perform restic backups.

Install

# Download
sudo su; cd
git clone https://git.socialnerds.org/david/scripts.git
ln -s /root/scripts/restic-backup.sh /usr/local/bin/restic-backup
# ****  CONFIG  ****
PASSWORD="/root/.restic-password"
REPO="sftp:<remote-server>:/path/to/repository"
KEEP=30
BIN="/usr/bin/restic"
OPTIONS="-p $PASSWORD -r $REPO -q"

You can run restic_backup.sh directly from the command line

# Usage
/root/restic_backup.sh /local/path <additional flags for the backup subcommand>

# Example
/root/restic_backup.sh /home -x -e ./.snapshots

or using cron.

# Cronjob
47 0 * * * /root/restic_backup.sh /home

# Cronjob (with healthchecks notification)
47 0 * * * /root/restic_backup.sh /home && curl -fsS -m 10 --retry 5 -o /dev/null https://checks.socialnerds.org/ping/fb721aec-5179-42c3-3455-4fd2ff39ii55

Happy backuping! :-)

restic-repos.sh

btrfs-snapshots.sh

odroid-fancontrol.sh

lib.sh

template.sh

Use this as a base for new scripts, it already has the essentials.

# Load lib.sh
SCRIPT_LIB="lib.sh"
SCRIPT_PATH=$(readlink -f "$0")
SCRIPT_DIR=$(dirname "$SCRIPT_PATH")
if [[ -r "$SCRIPT_DIR/$SCRIPT_LIB" ]]; then
  source "$SCRIPT_DIR/$SCRIPT_LIB"
  lib_print "Loading version $LIB_GREEN_BOLD$LIB_VERSION$LIB_CLEAR of $LIB_GREEN_BOLD$LIB_NAME$LIB_CLEAR"
else
  echo "Error: Cannot load library file [$SCRIPT_DIR/$SCRIPT_LIB]"
  exit 1
fi

watch-containers.sh

Simple healthchecks script to monitor running containers.

switch-desktop.sh

I think this is only useful with ElementaryOS. I use(d) this with a hot corner to control desktops with the mouse.