Compare commits

..

3 commits

Author SHA1 Message Date
kake26
f04cc8b80b Update 'README.md'
Fixed git command typo
2022-06-13 16:40:40 +02:00
kake26
d21095c09a Update 'README.md'
Add directions to checkout branch
2022-06-13 16:39:57 +02:00
kake26
1d70677f9b Update 'README.md'
Updated readme and created branches for verious types.
2021-09-25 23:42:47 +02:00
5 changed files with 12 additions and 135 deletions

View file

@ -1,5 +1,15 @@
# Bash-Stash # Bash-Stash
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 .
git clone -b branch URL
# Console
These are daily use type console scripts.
# OpenWrt # OpenWrt
These are scripts I've used on OpenWrt for various purposes. These are designed to be used with OpenWrt for various tasks.
Please see the read me in each branch for more info.

View file

@ -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

View file

@ -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

View file

@ -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")

View file

@ -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"