diff --git a/README.md b/README.md index 27c31ab..3c828a7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,15 @@ # Bash-Stash -# OpenWrt +A collection of console based bash scripts I've written at various times. It may include scripts written in other languages. To check out this repo you must select a branch you can do this via the following command . -These are scripts I've used on OpenWrt for various purposes. \ No newline at end of file +git clone -b branch URL + +# Console + +These are daily use type console scripts. + +# OpenWrt + +These are designed to be used with OpenWrt for various tasks. + +Please see the read me in each branch for more info. \ No newline at end of file diff --git a/backup.bash b/backup.bash deleted file mode 100644 index 7d291ad..0000000 --- a/backup.bash +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -set -eo pipefail # you cann add u into -eo, but it drives me nuts so I won't - -if [[ -n "${BASHD_DEBUG}" ]]; then # a inevitability that this will be used - set -x -fi - -trap cleanup EXIT # A little more robust cleanup - -cleanup() { - # We can clean up any temp files or what nots, but for now a place holder - true -} - -source ./config.bash - -# Run backups via restic - -bkpwd=$(read_json "$JSON_FILE" "restic" "password") - -export RESTIC_PASSWORD="$bkpwd" - -# Stuff to backup - -/usb/scripts/bin/restic -r sftp:nbak@192.168.1.168:/storage/backup/openwrt backup /etc -curl -d "ETC backed up" 192.168.1.168:83/openwrt_backup -/usb/scripts/bin/restic -r sftp:nbak@192.168.1.168:/storage/backup/openwrt backup /usb/scripts -curl -d "Scripts backed up" 192.168.1.168:83/openwrt_backup -/usb/scripts/bin/restic -r sftp:nbak@192.168.1.168:/storage/backup/openwrt backup /root -curl -d "Root backed up" 192.168.1.168:83/openwrt_backup -/usb/scripts/bin/restic -r sftp:nbak@192.168.1.168:/storage/backup/openwrt backup /usb/vnstat/vnstat.db -curl -d "Vnstat backed up" 192.168.1.168:83/openwrt_backup \ No newline at end of file diff --git a/band.bash b/band.bash deleted file mode 100644 index a10aa2d..0000000 --- a/band.bash +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -# Requires vnstat to be running on target system - -set -eo pipefail # you cann add u into -eo, but it drives me nuts so I won't - -if [[ -n "${BASHD_DEBUG}" ]]; then # a inevitability that this will be used - set -x -fi - -trap cleanup EXIT # A little more robust cleanup - -cleanup() { - # We can clean up any temp files or what nots, but for now a place holder - true -} - -source ./config.bash - -# initial values -mtotal=1000 # monthly total in GB for high end cut off -dmax=40 # daily max usage value -md=`date +%d` # day of the month numerically -cmd=$(($dmax * $md)) # computed max daily -wif="wan" -token=$(read_json "$JSON_FILE" "ntfy" "token") - -# now vnstat stuff, some of this is specific to openwrt - -vnhourly=`vnstat -i $wif -d -s --oneline | awk -F\; '{print $6}'` # total monthly usage -vnmonthly=`vnstat -i $wif -d -s --oneline | awk -F\; '{print $11}'` # daily total usage - - -logger "dom $md cm $cmd vnhourly $vnhourly vnmonthly $vnmonthly"; -curl -d "dom $md cm $cmd vnhourly $vnhourly vnmonthly $vnmonthly" 192.168.1.168:83/bandmon -curl -H "Authorization: Bearer $token" -d "dom $md cm $cmd vnhourly $vnhourly vnmonthly $vnmonthly" https://pngpst.net/openwrt_lan \ No newline at end of file diff --git a/commando.bash b/commando.bash deleted file mode 100644 index c05bf3d..0000000 --- a/commando.bash +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# commando.bash - -set -eo pipefail # you cann add u into -eo, but it drives me nuts so I won't - -if [[ -n "${BASHD_DEBUG}" ]]; then # aievitability that this will be used - set -x -fi - - trap cleanup EXIT # A little more robust cleanup - - cleanup() { - # We can clean up any temp files or what nots, but for now a place holder - true - } - -source ./config.bash - -token=$(read_json "$JSON_FILE" "ntfy" "token") \ No newline at end of file diff --git a/config.bash b/config.bash deleted file mode 100644 index 4e5a9bf..0000000 --- a/config.bash +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -JSON_FILE="config.json" - -read_json() { - local JSON_FILE="$1" - local SECTION="$2" - local KEY="$3" - - jq -r ".${SECTION}.${KEY}" "$JSON_FILE" -} - -# Function to write a value to a JSON configuration file -write_json() { - local JSON_FILE="$1" - local SECTION="$2" - local KEY="$3" - local VALUE="$4" - - # It important to check if the file is valid otherwise stuff breaks - if ! jq -e . < "$JSON_FILE" > /dev/null 2>&1; then - echo "Error: JSON file is not valid JSON." - return 1 - fi - - # Using jq to set the value. The original file is replaced with a new file with the updated value. - jq ".${SECTION}.${KEY} = \"$VALUE\"" "$JSON_FILE" > "temp.json" && mv "temp.json" "$JSON_FILE" - -} - -create_json() { - local JSON_FILE="$1" - echo '{"bashini": "new"}' | jq '.' > "$JSON_FILE" # well we need something in there - -} - -check_json() { - local JSON_FILE="$1" - if [ ! -f "$JSON_FILE" ]; then - create_json "$JSON_FILE" - fi -} - -check_json "$JSON_FILE" -