
Sammlung humorvoller Shell-Skripte zur Automatisierung persönlicher Aufgaben: Versenden von Verspätungsmeldungen, Durchsuchen von E-Mails nach Schlüsselwörtern, Vortäuschen von Krankheitstagen und Kaffeebrauen per Telnet. Läuft über Cron-Jobs.
Englisch | 简体中文
Basiert auf einer wahren Geschichte:
xxx: OK, also, unser Build Engineer hat das Unternehmen verlassen. Der Typ lebte buchstäblich im Terminal. Du weißt schon, dieser Typ, der Vim liebt, Diagramme in Dot erstellt und Wiki-Beiträge in Markdown schreibt… Wenn etwas – egal was – mehr als 90 Sekunden seiner Zeit in Anspruch nimmt, schreibt er ein Skript, um das zu automatisieren.
xxx: Also sitzen wir hier und durchforsten sein, ähm, „Erbe“
xxx: Das wirst du lieben
xxx:
smack-my-bitch-up.sh- sendet eine SMS „zu spät bei der Arbeit“ an seine Frau (offenbar). Wählt automatisch Gründe aus einem Array von Zeichenketten, zufällig. Läuft als Cron-Job. Der Job feuert, wenn nach 21 Uhr aktive SSH-Sitzungen auf dem Server mit seinem Login vorhanden sind.
xxx:
kumar-asshole.sh- durchsucht den Posteingang nach E-Mails von „Kumar“ (einem DBA bei unseren Kunden). Sucht nach Schlüsselwörtern wie „help“, „trouble“, „sorry“ usw. Wenn Schlüsselwörter gefunden werden, SSHt das Skript auf den Server des Kunden und rollt die Staging-Datenbank auf das letzte Backup zurück. Dann sendet es eine Antwort: „Kein Problem, Kumpel, sei nächstes Mal vorsichtig.“
xxx: - ein weiterer Cron-Job, der auf bestimmte Daten gesetzt ist. Sendet automatisierte E-Mails wie „fühle mich nicht wohl/werde von zu Hause arbeiten“ usw. Fügt einen zufälligen „Grund“ aus einem anderen vordefinierten Array von Zeichenketten hinzu. Feuert, wenn um 8:45 Uhr keine interaktiven Sitzungen auf dem Server vorhanden sind.
hangover.shxxx: (und der Oscar geht an)
fucking-coffee.sh- dieser wartet genau 17 Sekunden (!), öffnet dann eine Telnet-Sitzung zu unserer Kaffeemaschine (wir hatten keine Ahnung, dass die Kaffeemaschine im Netzwerk ist, Linux läuft und einen TCP-Socket geöffnet hat) und sendet so etwas wiesys brew. Es stellt sich heraus, dass dieses Ding beginnt, einen mittelgroßen halb entkoffeinierten Latte zuzubereiten und weitere 24 (!) Sekunden wartet, bevor es ihn in eine Tasse gießt. Das Timing entspricht genau der Zeit, die man braucht, um vom Schreibtisch des Typen zur Maschine zu laufen.
xxx: heilige Scheiße, die behalte ich
Original: http://bash.im/quote/436725 (auf Russisch) (Archive.org Link) Pull-Requests mit anderen Implementierungen (Python, Perl, Shell usw.) sind willkommen.
Sie benötigen diese Umgebungsvariablen:
# used in `smack-my-bitch-up` and `hangover` scripts
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
# used in `kumar_asshole` script
[email protected]
GMAIL_PASSWORD=password
Für Ruby-Skripte müssen Sie Gems installieren:
gem install dotenv twilio-ruby gmail
# Runs `smack-my-bitch-up.sh` monday to friday at 9:20 pm.
20 21 * * 1-5 /path/to/scripts/smack-my-bitch-up.sh >> /path/to/smack-my-bitch-up.log 2>&1
# Runs `hangover.sh` monday to friday at 8:45 am.
45 8 * * 1-5 /path/to/scripts/hangover.sh >> /path/to/hangover.log 2>&1
# Runs `kumar-asshole.sh` every 10 minutes.
*/10 * * * * /path/to/scripts/kumar-asshole.sh
# Runs `fucking-coffee.sh` hourly from 9am to 6pm on weekdays.
0 9-18 * * 1-5 /path/to/scripts/fucking-coffee.sh
Der Code wird unter WTFPL veröffentlicht.