summaryrefslogtreecommitdiff
path: root/dotheneedfuleverywhere.sh
blob: 7926b780d0580955289e2ac5a13a11ba739c1f23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash

# === CONFIG ===
SCRIPT_PATH="/usr/local/bin/do_the_needful.sh"
REMOTE_USER="doc"
BOT_TOKEN="8178867489:AAH0VjN7VnZSCIWasSz_y97iBLLjPJA751k"
CHAT_ID="1559582356"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')

SERVERS=(
  thevault.sshjunkie.com
  zcluster.technodrome1.sshjunkie.com
  zcluster.technodrome2.sshjunkie.com
  shredder.sshjunkie.com
  chatwithus.live
)

SUMMARY="🤖 Krang Deployment Report - $TIMESTAMP\n\n"
FAILURES=0

for HOST in "${SERVERS[@]}"; do
  echo "🚀 Deploying to $HOST..."

  # Upload script to temp location
  scp "$SCRIPT_PATH" "$REMOTE_USER@$HOST:/tmp/do_the_needful.sh"
  if [ $? -ne 0 ]; then
    SUMMARY+="❌ $HOST: SCP failed\n"
    ((FAILURES++))
    continue
  fi

  # Move into place and execute
  ssh "$REMOTE_USER@$HOST" "sudo install -m 755 /tmp/do_the_needful.sh $SCRIPT_PATH && sudo $SCRIPT_PATH"
  if [ $? -ne 0 ]; then
    SUMMARY+="❌ $HOST: sudo execution failed\n"
    ((FAILURES++))
  else
    SUMMARY+="✅ $HOST: cleaned successfully\n"
  fi

  echo "----------------------------------"
done

# === Send Telegram Summary ===
FINAL_STATUS="🚨 Some hosts failed." && [ "$FAILURES" -eq 0 ] && FINAL_STATUS="✅ All hosts completed."

curl -s -X POST https://api.telegram.org/bot$BOT_TOKEN/sendMessage \
  -d chat_id="$CHAT_ID" \
  -d text="$FINAL_STATUS\n\n$SUMMARY"