Compare commits
3 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f04cc8b80b | ||
![]() |
d21095c09a | ||
![]() |
1d70677f9b |
5 changed files with 12 additions and 135 deletions
12
README.md
12
README.md
|
@ -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.
|
33
backup.bash
33
backup.bash
|
@ -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
|
|
35
band.bash
35
band.bash
|
@ -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
|
|
|
@ -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")
|
|
45
config.bash
45
config.bash
|
@ -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"
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue