Reorganise scripts
This commit is contained in:
parent
5ebf7f9b5c
commit
4ae0656da4
18 changed files with 196 additions and 104 deletions
54
.config/scripts/cron/backup-server.sh
Normal file
54
.config/scripts/cron/backup-server.sh
Normal file
|
@ -0,0 +1,54 @@
|
|||
#!/bin/bash
|
||||
|
||||
source /Users/noahheague/.config/scripts/util/secret.sh
|
||||
export B2_ACCOUNT_ID=$(getSecret "/server/mac-mini-1/b2-account-id")
|
||||
export B2_ACCOUNT_KEY=$(getSecret "/server/mac-mini-1/b2-account-key")
|
||||
|
||||
/Users/noahheague/.config/scripts/util/webhook.sh \
|
||||
-c "backup" \
|
||||
-m "Restic Backup Started..."
|
||||
|
||||
# Reclone download external files
|
||||
/Users/noahheague/.config/scripts/util/webhook.sh \
|
||||
-c "backup" \
|
||||
-m "Pulling external files..."
|
||||
|
||||
/usr/local/bin/rclone copy Dropbox:Delta\ Emulator /Volumes/Homelab/30\ Archival/34\ Assorted/Delta\ Emulator
|
||||
|
||||
/Users/noahheague/.config/scripts/util/webhook.sh \
|
||||
-c "backup" \
|
||||
-m "Pushing to remote..."
|
||||
|
||||
/usr/local/bin/restic \
|
||||
--pack-size 128 \
|
||||
-r b2:pfych-home-server-backup:/ \
|
||||
backup /Volumes/Homelab/ \
|
||||
--verbose=2 \
|
||||
--json \
|
||||
--password-command "getSecret '/server/mac-mini-1/restic-key'" \
|
||||
--exclude "40 Programming/Docker/nginx-proxy-manager/data/nginx" \
|
||||
--exclude "50 BitTorrent" \
|
||||
--exclude "30 Archival/35 BMS" \
|
||||
--exclude "30 Archival/32 Youtube/kkm" \
|
||||
--exclude "Mastodon/public" \
|
||||
--exclude "node_modules" \
|
||||
--exclude ".fseventsd" \
|
||||
--exclude ".Spotlight-V100" \
|
||||
--exclude ".Trash-1000" \
|
||||
--exclude ".DS_Store" \
|
||||
--exclude ".DocumentRevisions-V100" \
|
||||
--exclude ".TemporaryItems" \
|
||||
--exclude ".Trashes" | jq 'select(.message_type | test("summary"))' > /tmp/restic-backup.json
|
||||
|
||||
/Users/noahheague/.config/scripts/util/webhook.sh \
|
||||
-c "backup" \
|
||||
-m "Restic Backup Completed!"
|
||||
|
||||
TIME_TAKEN=$(gdate -d@"$(cat /tmp/restic-backup.json | jq '.total_duration')" -u +%H:%M:%S)
|
||||
FILES_CHANGED=$(cat /tmp/restic-backup.json | jq '.files_changed')
|
||||
DIRECTORIES_CHANGED=$(cat /tmp/restic-backup.json | jq '.dirs_changed')
|
||||
DATA_ADDED=$(units -t -o "%.0f" "$(cat /tmp/restic-backup.json | jq '.data_added') bytes" megabytes)
|
||||
|
||||
/Users/noahheague/.config/scripts/util/webhook.sh \
|
||||
-c "backup" \
|
||||
-m "Time Taken: $TIME_TAKEN\nFiles Changed: $FILES_CHANGED\nDirectories Changed: $DIRECTORIES_CHANGED\nData Added: ${DATA_ADDED}MB"
|
42
.config/scripts/cron/coles.sh
Executable file
42
.config/scripts/cron/coles.sh
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
|
||||
ROOT_URL='https://www.coles.com.au/product'
|
||||
|
||||
# <Price>|<ProductID>
|
||||
declare -a PRODUCT_IDS=(
|
||||
'$40.00|lavazza-espresso-barista-gran-crema-coffee-beans-1kg-3756513|Coffee Beans'
|
||||
'$5.20|tostitos-restaurant-style-smokin-chipotle-sour-cream-165g-6596322|Tostitos'
|
||||
'$8.00|nudie-pulp-oranges-juice-chilled-2l-7895759|Orange Juice'
|
||||
'$2.50|peckish-original-rice-crackers-90g-9999336|Pekish Crackers'
|
||||
'$3.00|liddells-lactose-free-full-cream-milk-1l-6706012|Lactose Free Milk'
|
||||
'$9.50|connoisseur-ice-cream-roasted-hazelnut-4-pack-400ml-5019356|Connoisseur Ice Cream'
|
||||
'$6.90|carman'\''s-dark-choc-espresso-nut-bar-5-pack-160g-1905237|Carmans Espresso Nut Bar'
|
||||
'$9.00|twisted-licks-rich-chocolate-zero-added-sugar-sticks-4-pack-320ml-3778083|Licks Ice Cream'
|
||||
)
|
||||
|
||||
/Users/noahheague/.config/scripts/util/webhook.sh \
|
||||
-c "coles" \
|
||||
-m "Checking Prices..."
|
||||
|
||||
for PRODUCT in "${PRODUCT_IDS[@]}"
|
||||
do
|
||||
EXPECTED_PRICE=$(echo $PRODUCT | cut -d "|" -f1)
|
||||
PRODUCT_ID=$(echo $PRODUCT | cut -d "|" -f2)
|
||||
PRETTY_NAME=$(echo $PRODUCT | cut -d "|" -f3)
|
||||
|
||||
OUTPUT=$(curl -s "$ROOT_URL\/$PRODUCT_ID" \
|
||||
| /usr/local/bin/ggrep -oP "aria-label=\"Price .*?\"" \
|
||||
| cut -d \" -f2 \
|
||||
| cut -d " " -f2)
|
||||
|
||||
if [[ "$OUTPUT" != "$EXPECTED_PRICE" ]]
|
||||
then
|
||||
/Users/noahheague/.config/scripts/util/webhook.sh \
|
||||
-c "coles" \
|
||||
-m "$PRETTY_NAME is on sale! **$OUTPUT** (was $EXPECTED_PRICE)"
|
||||
fi
|
||||
done
|
||||
|
||||
/Users/noahheague/.config/scripts/util/webhook.sh \
|
||||
-c "coles" \
|
||||
-m "All prices checked!"
|
65
.config/scripts/cron/dns.sh
Normal file
65
.config/scripts/cron/dns.sh
Normal file
|
@ -0,0 +1,65 @@
|
|||
export AWS_PROFILE=default
|
||||
DOMAIN="pfy.ch"
|
||||
declare -a SUB_DOMAINS=("home" "git" "zip")
|
||||
|
||||
# Scripts
|
||||
CURRENT_IP=`dig @resolver4.opendns.com myip.opendns.com +short`
|
||||
|
||||
HOSTED_ZONE_ID=$(
|
||||
/usr/local/bin/aws route53 list-hosted-zones \
|
||||
| /usr/local/bin/jq \
|
||||
--arg domain "$DOMAIN." \
|
||||
'.HostedZones
|
||||
| map(select(.Name == $domain))
|
||||
| .[] .Id' \
|
||||
| sed 's/"//g'
|
||||
)
|
||||
|
||||
for SUB_DOMAIN in "${SUB_DOMAINS[@]}"
|
||||
do
|
||||
RECORD_VALUE=$(
|
||||
/usr/local/bin/aws route53 list-resource-record-sets \
|
||||
--hosted-zone-id $HOSTED_ZONE_ID \
|
||||
| /usr/local/bin/jq \
|
||||
--arg fullDomain "$SUB_DOMAIN.$DOMAIN." \
|
||||
'.ResourceRecordSets
|
||||
| map(select(.Name == $fullDomain))
|
||||
| .[] .ResourceRecords
|
||||
| .[] .Value' \
|
||||
| sed 's/"//g'
|
||||
)
|
||||
|
||||
if test "$CURRENT_IP" != "$RECORD_VALUE"; then
|
||||
CHANGE_REQUEST="
|
||||
{
|
||||
\"HostedZoneId\": \"$HOSTED_ZONE_ID\",
|
||||
\"ChangeBatch\": {
|
||||
\"Comment\": \"Dynamic DNS change\",
|
||||
\"Changes\": [
|
||||
{
|
||||
\"Action\": \"UPSERT\",
|
||||
\"ResourceRecordSet\": {
|
||||
\"Name\": \"$SUB_DOMAIN.$DOMAIN\",
|
||||
\"Type\": \"A\",
|
||||
\"TTL\": 3600,
|
||||
\"ResourceRecords\": [
|
||||
{
|
||||
\"Value\": \"$CURRENT_IP\"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
"
|
||||
|
||||
echo "$CURRENT_IP does not match $RECORD_VALUE on $SUB_DOMAIN.$DOMAIN. Changing...";
|
||||
/usr/local/bin/aws route53 change-resource-record-sets --hosted-zone-id $HOSTED_ZONE_ID --cli-input-json "$CHANGE_REQUEST"
|
||||
/Users/noahheague/.config/scripts/webhook.sh \
|
||||
-c "dns" \
|
||||
-m "$CURRENT_IP does not match $RECORD_VALUE on $SUB_DOMAIN.$DOMAIN"
|
||||
else
|
||||
echo "$CURRENT_IP matches $RECORD_VALUE on $SUBDOMAIN.$DOMAIN."
|
||||
fi
|
||||
done
|
Loading…
Add table
Add a link
Reference in a new issue