A small set of bash scripts for everyday macOS tasks: SSD health monitoring and bulk git-repository updates.
🇬🇧 English | 🇷🇺 Русский
| Script | Purpose | Documentation |
|---|---|---|
bin/ssd_monitor.sh |
Production-grade SSD health monitor via SMART/NVMe: colored output, JSON export, JSONL history, launchd integration, exit codes for monitoring | docs/ssd_monitor.md |
bin/ssd_check.sh |
Quick one-shot SMART/NVMe viewer for all disks. No logs, no state. | docs/ssd_check.md |
bin/git-pull-all |
Recursive git pull --ff-only for every nested repository |
docs/git-pull-all.md |
- macOS 11+ (Big Sur and newer) — relies on BSD utilities,
diskutil,launchctl - bash 3.2+ (system)
- Optional dependencies per script:
smartmontools(brew install smartmontools) — forssd_monitor.shandssd_check.shjq(brew install jq) — forssd_monitor.sh --jsongit— forgit-pull-all
# 1. Clone the repo
git clone <repo-url> macos-utilities
cd macos-utilities
# 2. Install dependencies
brew install smartmontools jq
# 3. Add bin/ to PATH (one of two ways)
# Option A — symlinks into ~/bin:
mkdir -p ~/bin
for f in bin/*; do
ln -s "$PWD/$f" ~/bin/"$(basename "$f")"
done
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# Option B — put ./bin directly on PATH:
echo "export PATH=\"$PWD/bin:\$PATH\"" >> ~/.zshrc
source ~/.zshrc
# 4. Verify
ssd_monitor.sh --helpDetailed scenarios are in docs/.
macos-utilities/
├── README.md # this file (EN)
├── README.ru.md # this file (RU)
├── .gitignore
├── bin/
│ ├── ssd_monitor.sh # production SMART monitor
│ ├── ssd_check.sh # quick SMART viewer
│ └── git-pull-all # bulk git pull
└── docs/
├── ssd_monitor.md # EN
├── ssd_monitor.ru.md # RU
├── ssd_check.md # EN
├── ssd_check.ru.md # RU
├── git-pull-all.md # EN
└── git-pull-all.ru.md # RU
MIT © Sergey K.
The scripts are self-contained — use at your own risk. Before running anything that needs sudo or touches disks, read the code.