
Raccolta di script shell umoristici che automatizzano attività personali: invio di avvisi per ritardi al lavoro, scansione delle email per parole chiave, simulazione di giorni di malattia e preparazione del caffè via telnet. Funziona tramite cron job.
Inglese | 简体中文
Basato su una storia vera:
xxx: OK, quindi il nostro build engineer se n'è andato per un'altra azienda. Il tizio viveva letteralmente dentro il terminale. Sai, quel tipo di persona che ama Vim, crea diagrammi in Dot e scrive post wiki in Markdown... Se qualcosa – qualsiasi cosa – richiede più di 90 secondi del suo tempo, scrive uno script per automatizzarla.
xxx: Allora siamo qui seduti, a guardare la sua, ehm, "eredità"
xxx: Ti piacerà
xxx:
smack-my-bitch-up.sh– invia un messaggio di testo "tardi al lavoro" a sua moglie (a quanto pare). Seleziona automaticamente i motivi da un array di stringhe, in modo casuale. Esegue in un cron-job. Il job si attiva se dopo le 21:00 ci sono sessioni SSH attive sul server con il suo login.
xxx:
kumar-asshole.sh– scansiona la posta in arrivo per email da "Kumar" (un DBA presso i nostri clienti). Cerca parole chiave come "aiuto", "problema", "scusa", ecc. Se vengono trovate parole chiave, lo script si collega via SSH al server del cliente e ripristina il database di staging dall'ultimo backup. Poi invia una risposta "nessun problema amico, la prossima volta stai più attento".
xxx: – un altro cron-job programmato per date specifiche. Invia email automatiche come "non mi sento bene/lavorerò da casa", ecc. Aggiunge un "motivo" casuale da un altro array predefinito di stringhe. Si attiva se non ci sono sessioni interattive sul server alle 8:45.
hangover.shxxx: (e l'oscar va a)
fucking-coffee.sh– questo aspetta esattamente 17 secondi (!), poi apre una sessione telnet verso la nostra macchina del caffè (non avevamo la minima idea che la macchina del caffè fosse in rete, eseguisse Linux e avesse un socket TCP attivo) e invia qualcosa comesys brew. A quanto pare questo fa partire la preparazione di un caffè latte medio decaffeinato e aspetta altri 24 (!) secondi prima di versarlo nella tazza. Il tempismo è esattamente quanto ci vuole per camminare dalla scrivania del tizio fino alla macchina.
xxx: porca miseria, me li tengo
Originale: http://bash.im/quote/436725 (in russo) (Link Archive.org link) Pull request con altre implementazioni (Python, Perl, Shell, ecc.) sono benvenute.
Hai bisogno di queste variabili d'ambiente:
# usate negli script `smack-my-bitch-up` e `hangover`
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
# usate nello script `kumar_asshole`
[email protected]
GMAIL_PASSWORD=password
Per gli script Ruby devi installare le gemme:
gem install dotenv twilio-ruby gmail
# Esegue `smack-my-bitch-up.sh` da lunedì a venerdì alle 21:20.
20 21 * * 1-5 /path/to/scripts/smack-my-bitch-up.sh >> /path/to/smack-my-bitch-up.log 2>&1
# Esegue `hangover.sh` da lunedì a venerdì alle 8:45.
45 8 * * 1-5 /path/to/scripts/hangover.sh >> /path/to/hangover.log 2>&1
# Esegue `kumar-asshole.sh` ogni 10 minuti.
*/10 * * * * /path/to/scripts/kumar-asshole.sh
# Esegue `fucking-coffee.sh` ogni ora dalle 9:00 alle 18:00 nei giorni feriali.
0 9-18 * * 1-5 /path/to/scripts/fucking-coffee.sh
Il codice è rilasciato sotto WTFPL.