Skip to content

Instantly share code, notes, and snippets.

View benyanke's full-sized avatar

Ben Yanke benyanke

View GitHub Profile
@benyanke
benyanke / fstab-mount-check
Created November 24, 2020 16:22
Custom text exporters for prometheus
#!/bin/bash
# Reports on all filesystems declared in fstab, and if they are mounted or not - to detect unmounted filesystems
# NOTE: exporter info to stdout, human readable info to stderr
# in normal operation, pipe stdout to the datafile and stderr to null or syslog
# TODO : add a second error metric so that errors in this script are reported
tmpfile="$(mktemp)"
@benyanke
benyanke / feastday-ps1.sh
Created September 6, 2020 17:26
Provides the feast day in your bashrc
function feast() {
tmp="`mktemp`"
export date="`date +"%Y-%m-%d"`"
timeout 1 curl https://www.missalemeum.com/en/api/v3/date/$date 2> /dev/null > $tmp
export title="`cat $tmp | jq -r .[].info.title`"
export tempora="`cat $tmp | jq -r .[].info.tempora`"
export rank="`cat $tmp | jq -r .[].info.rank`"
@benyanke
benyanke / mikrotik-dhcp-dns-script
Created June 16, 2019 02:42
Mikrotik DHCP-to-DNS Script
# NOT fully complete with all the desired features but it does work
# Suggested usage - place in the system scheduler and run every few minutes
# Set root domain here
:local zone "your.internal.domain.com";
:local ttl "00:00:10"
:local staticTtl "00:00:30"
# TODO : add "nodns" check in static lease comment
@benyanke
benyanke / .bashrc 6-8-2019
Created June 9, 2019 03:04 — forked from ageis/.bashrc 02-25-2020
@ageis's ~/.bashrc 🖥️ with numerous useful functions, aliases and one-liners. ⚠️ NOTE: many paths in sourced scripts and environment variables are specific to my system, but if you dig in I hope you'll find something you can use!
#!/bin/bash
#~/.bashrc: executed by bash(1) for non-login shells.
# kevin gallagher (@ageis) <kevingallagher@gmail.com>
export MYUID=$(id -u)
export USER="$(id -un)"
if [[ "$TILIX_ID" ]] || [[ "$VTE_VERSION" ]]; then
source /etc/profile.d/vte.sh
fi
sudo apt-get install watchdog
sudo echo bcm2708_wdog >> /etc/modules
sudo cp /etc/watchdog.conf /etc/watchdog.conf.orig
sudo sed -i 's/^#max-load/max-load/' /etc/watchdog.conf
sudo reboot
@benyanke
benyanke / Elastic Beanstalk Drop All Tables
Created February 15, 2019 05:59
This drops all the tables in elastic beanstalk
echo "SET FOREIGN_KEY_CHECKS = 0; `mysqldump --add-drop-table --no-data -h $RDS_HOSTNAME -u $RDS_USERNAME -p$RDS_PASSWORD $RDS_DB_NAME | grep 'DROP TABLE'` ;SET FOREIGN_KEY_CHECKS = 1;" | mysql -h $RDS_HOSTNAME -u $RDS_USERNAME -p$RDS_PASSWORD $RDS_DB_NAME
@benyanke
benyanke / Add to bottom of bashrc
Last active February 4, 2019 22:44
Serial gateway
##############################
# Load the serial console on shell open
##############################
echo ""
echo ""
echo ""
echo "######################"
echo "Loading serial console... press ctrl+c to drop to bash instead"
@benyanke
benyanke / gsysmon - POC
Created July 20, 2018 01:58
Proof of concept for a system stats monitor
package main
import (
"fmt"
"github.com/shirou/gopsutil/cpu"
"github.com/shirou/gopsutil/host"
"github.com/shirou/gopsutil/load"
"github.com/shirou/gopsutil/mem"
)
@benyanke
benyanke / restoreBackup.sh
Last active July 10, 2018 19:08
Backup Scripts
#!/bin/bash
# Run this script with sudo
[ `whoami` = root ] || { echo "Need to run as root"; exit 1; }
# Update config here and run the script - example values used below
export PASSPHRASE="12345678901234567890"
@benyanke
benyanke / Client Script
Last active July 4, 2018 14:40
SSH Reverse Tunnel Configuration
#!/usr/bin/env bash
# run me in cron every minute and on boot
ssh revtun@[host] -i [keypath] -R 8202:localhost:22 -N -f