A collection of utility scripts for various system administration and automation tasks.
| Script | Description | Documentation |
|---|---|---|
| Cluster SSH Key Setup | Automates SSH key distribution across a cluster of nodes | README |
| Cluster System Update | Runs apt update/upgrade in parallel across cluster nodes | README |
| Docker Image Update | Automates the process of updating a running Docker container | README |
| Cloudflare IP Logger | A reverse proxy that logs visitor IPs from Cloudflare Tunnel traffic | README |
| Ollama Model Updater | Checks for updates to available models on ollama.ai and installs them automatically | README |
| Git Update | A bash script to interactively manage Git repositories across GitHub and GitLab with clone, fetch, and push operations—individually or in batch. | README |
| Power & Temp Monitor | Monitor temperature, voltage, power, and throttling status on Raspberry Pi, Nvidia Jetson, and x86 systems using Prometheus and Alertmanager | README |
| Alias Distribute | Distributes bash aliases to all nodes listed in /etc/hosts | README |
| Git Star Repo | A Python script that fetches all your GitHub starred repositories and generates a summary report with statistics and a full listing. | README |
| Dot Files | Personal configuration files for setting up a new Linux system. | README |
| Hung Connections | A utility for detecting and terminating hung network connections on Unix-based systems. Available in both Python and Bash | README |
| Health Check | A single-file bash script that performs a comprehensive system health check and simultaneously exports every measured value to a CSV (for trend analysis) and a JSON snapshot (for tooling integration). Run it on a schedule and pipe the CSV into pandas, Grafana, Excel, or gnuplot to watch metrics evolve over time | README |
| Chowned Thottled | A performance-conscious bash script for recursively changing file ownership across multiple directories on high-throughput systems. Designed to run safely alongside active workloads by controlling CPU and I/O priority, batching filesystem operations to avoid argument list limits, and skipping files that are already correctly owned | README |
| Linux Troubleshooting | A comprehensive, interactive shell script for diagnosing and troubleshooting x86_64 Linux servers. Covers 15 diagnostic modules ranging from hardware inventory and network connection analysis to Kubernetes cluster health and security auditing — all from a single script with no external dependencies beyond standard Linux tooling | README |
| File Retention (Age Off) | A config-driven bash script for age-based file cleanup across multiple directories. Each directory can have its own retention policy, glob pattern, and recursion setting — all managed from a single config file without touching the script itself | README |
| Dir Sync | A lightweight Python script that compares two directories and copies only the changed or new files (deltas) from source to destination. No external dependencies — stdlib only | README |
Each script lives in its own directory with dedicated documentation. Click the README link above for usage instructions.
# Clone the repo
git clone https://github.com/bfritzinger/Misc_Scripts.git
cd Misc_Scripts
# Navigate to the script you need
cd cluster-ssh-key-setup
# Review the README, then run
./cluster_sshKey_setup.shMisc_Scripts/
├── README.md
├── LICENSE
├── _template/
│ └── README.md
├── cluster-ssh-key-setup/
│ ├── README.md
│ └── cluster-sshKey-setup.sh
└── cluster-system-update/
├── README.md
└── update-sys.sh
└── docker-container-update/
├── README.md
└── docker-container-update.sh
└── cloudflare-ip-logger/
├── cmd
├── logparser
├── main.go
├── README.md
└── cd-log-parser.service
└── docker-compose.cloudflared.yml
└── docker-compose.yml
└── Dokerfile
└── go.mod
└── main.go
└── proxy-config.json.example
└── run-with-logging.sh
└── ollama-updater/
├── README.md
└── ollama-updater.py
└── git-update/
├── README.md
└── git-update.sh
└── pwr-tmp-monitor/
├── README.md
└── setup.sh
└── x86_metrics.sh
└── jetson_metrics.sh
└── pi_metrics.sh
└── deploy_to_nodes.sh
└── alertmananger.yml
└── pi_alerts.yml
└── grafana-dashboard.json
└── NODE_EXPORTER_SETUP.md
└── alias-dist/
├── README.md
└── alias-dist.sh
└── github-star-repos/
├── README.md
└── github-stars.sh
└── dotfiles/
├── bootstrap.sh
├── README.md
├── .bashrc
├── .bash_aliases
├── .bash_profile
├── .vimrc
├── .tmux.conf
├── .gitconfig
├── .gitignore_global
├── .ssh/
│ └── config
└── .config/
└── ...
└── HUng Connections/
├── README.md
└── hung_connection_killer.sh
└── hung_connection_killer.py
└── Health Check/
├── README.md
└── system_health_check.sh
└── metrics-dashboard.html
└── chown_throttled
├── README.md
└── chown_throttled.sh
└── LinuxTroubleshooting
├── README.md
└── linux_troubleshoot.sh
└── File_retention
├── README.md
└── file_retention.sh
└── file_retention.conf
└── Dir Sync
├── README.md
└── dirsync.py
-
Copy the
_templatedirectory and rename it:cp -r _template my-new-script
-
Add your script and update the README inside the new directory
-
Update this main README to include your new script in the table above
This project is licensed under the MIT License - see the LICENSE file for details.