63 lines
1.9 KiB
Bash
Executable File
63 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# === CONFIG ===
|
|
SERVER="root@chatwithus.live"
|
|
MASTODON_INSTANCE="https://chatwithus.live"
|
|
ACCESS_TOKEN="rimxBLi-eaJAcwagkmoj6UoW7Lc473tQY0cOM041Euw"
|
|
TOOT_TEXT="✅ ChatWithUs.Live services restarted from Krang via OPS script."
|
|
TOOT_VISIBILITY="unlisted"
|
|
|
|
TELEGRAM_BOT_TOKEN="8178867489:AAH0VjN7VnZSCIWasSz_y97iBLLjPJA751k"
|
|
TELEGRAM_CHAT_ID="1559582356"
|
|
TELEGRAM_TEXT="✅ Mastodon has been restarted by Krang. All services are back online."
|
|
|
|
LOG_FILE="/home/doc/genesis-tools/masto_restart.log"
|
|
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
|
|
|
|
{
|
|
echo "[$TIMESTAMP] === Mastodon Restart Initiated ==="
|
|
|
|
# === Restart Mastodon Services ===
|
|
echo "[*] Connecting to $SERVER to restart Mastodon services..."
|
|
|
|
ssh "$SERVER" bash << 'EOF'
|
|
echo "Restarting mastodon-web..."
|
|
systemctl restart mastodon-web
|
|
|
|
echo "Restarting mastodon-sidekiq..."
|
|
systemctl restart mastodon-sidekiq
|
|
|
|
echo "Restarting mastodon-streaming..."
|
|
systemctl restart mastodon-streaming
|
|
|
|
echo "All services restarted."
|
|
EOF
|
|
|
|
# === Wait Until Mastodon API is Responsive ===
|
|
echo "[*] Waiting for Mastodon to come back online..."
|
|
until curl -sf "$MASTODON_INSTANCE/api/v1/instance" > /dev/null; do
|
|
echo " ... still starting up, retrying in 5s"
|
|
sleep 5
|
|
done
|
|
|
|
echo "[+] Mastodon is back online."
|
|
|
|
# === Post Toot ===
|
|
echo "[*] Posting status to Mastodon..."
|
|
curl -s -X POST "$MASTODON_INSTANCE/api/v1/statuses" \
|
|
-H "Authorization: Bearer $ACCESS_TOKEN" \
|
|
-d "status=$TOOT_TEXT" \
|
|
-d "visibility=$TOOT_VISIBILITY" > /dev/null && echo "[✓] Status posted."
|
|
|
|
# === Telegram Notification ===
|
|
echo "[*] Sending Telegram alert..."
|
|
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
|
|
-d chat_id="$TELEGRAM_CHAT_ID" \
|
|
-d text="$TELEGRAM_TEXT" > /dev/null && echo "[✓] Telegram alert sent."
|
|
|
|
echo "[✓] All tasks complete. Logged out of $SERVER."
|
|
echo "[$TIMESTAMP] === Mastodon Restart Complete ==="
|
|
echo ""
|
|
|
|
} >> "$LOG_FILE" 2>&1
|