Files
homelab-optimized/scripts/gmail-organizer-ctl.sh
Gitea Mirror Bot bda7ae860c
Some checks failed
Documentation / Build Docusaurus (push) Failing after 5m9s
Documentation / Deploy to GitHub Pages (push) Has been skipped
Sanitized mirror from private repository - 2026-03-27 11:33:36 UTC
2026-03-27 11:33:36 +00:00

47 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Email Organizer Control — enable/disable all email organizer cron jobs
#
# Usage:
# gmail-organizer-ctl.sh stop — disable all cron jobs (frees LLM)
# gmail-organizer-ctl.sh start — re-enable all cron jobs
# gmail-organizer-ctl.sh status — show current state
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
CRON_MARKER_1="gmail-organizer/gmail_organizer.py"
CRON_MARKER_2="gmail-organizer-dvish/gmail_organizer.py"
CRON_MARKER_3="proton-organizer/proton_organizer.py"
case "${1:-status}" in
stop|disable|pause)
crontab -l 2>/dev/null | sed \
-e "/${CRON_MARKER_1//\//\\/}/s/^/#PAUSED# /" \
-e "/${CRON_MARKER_2//\//\\/}/s/^/#PAUSED# /" \
-e "/${CRON_MARKER_3//\//\\/}/s/^/#PAUSED# /" \
| crontab -
echo "Email organizers PAUSED (all 3 accounts)"
echo "LLM is free. Run '$0 start' to resume."
;;
start|enable|resume)
crontab -l 2>/dev/null | sed \
-e "s/^#PAUSED# \(.*${CRON_MARKER_1//\//\\/}\)/\1/" \
-e "s/^#PAUSED# \(.*${CRON_MARKER_2//\//\\/}\)/\1/" \
-e "s/^#PAUSED# \(.*${CRON_MARKER_3//\//\\/}\)/\1/" \
| crontab -
echo "Email organizers RESUMED (all 3 accounts)"
;;
status)
echo "Email Organizer Status:"
crontab -l 2>/dev/null | grep -E "gmail-organizer|proton-organizer" | while read -r line; do
if echo "$line" | grep -q "^#PAUSED#"; then
echo " PAUSED: $(echo "$line" | sed 's/#PAUSED# //')"
else
echo " ACTIVE: $line"
fi
done
;;
*)
echo "Usage: $0 {stop|start|status}"
exit 1
;;
esac