
Basé sur une histoire vraie
Anglais | 简体中文
Basé sur une histoire vraie :
xxx : OK, donc, notre ingénieur build est parti pour une autre boîte. Le gars vivait littéralement dans le terminal. Vous savez, ce type qui adore Vim, crée des diagrammes en Dot et écrit des articles de wiki en Markdown… Si quoi que ce soit – absolument quoi que ce soit – lui prend plus de 90 secondes, il écrit un script pour automatiser ça.
xxx : Du coup on est là, en train de fouiller dans son, euh, « héritage »
xxx : Tu vas adorer
xxx :
smack-my-bitch-up.sh– envoie un SMS « au boulot tard » à sa femme (apparemment). Choisit automatiquement des raisons dans un tableau de chaînes, au hasard. S'exécute dans une tâche cron. La tâche se déclenche s'il y a des sessions SSH actives sur le serveur après 21h avec son login.
xxx :
kumar-asshole.sh– scanne la boîte de réception pour les emails de « Kumar » (un DBA chez nos clients). Cherche des mots-clés comme « help », « trouble », « sorry », etc. Si des mots-clés sont trouvés, le script se connecte en SSH au serveur client et restaure la base de données de staging sur la dernière sauvegarde. Puis envoie une réponse « pas de souci mon pote, fais attention la prochaine fois ».
xxx :
hangover.sh– une autre tâche cron programmée à des dates spécifiques. Envoie des emails automatisés du genre « pas en forme / vais travailler depuis la maison », etc. Ajoute une « raison » aléatoire depuis un autre tableau de chaînes prédéfini. Se déclenche s'il n'y a pas de sessions interactives sur le serveur à 8h45.
xxx : (et l'oscar revient à)
fucking-coffee.sh– celui-ci attend exactement 17 secondes (!), puis ouvre une session telnet vers notre machine à café (on n'avait aucune putain d'idée que la machine à café était sur le réseau, tournait sous Linux et avait une socket TCP ouverte) et envoie un truc commesys brew. Il s'avère que ce truc commence à préparer un café mi-caféine de taille moyenne et attend encore 24 (!) secondes avant de le verser dans une tasse. Le timing correspond exactement au temps nécessaire pour aller de son bureau à la machine.
xxx : bordel de merde, je garde ça
Original : http://bash.im/quote/436725 (en russe) (Archive.org lien) Les pull requests avec d'autres implémentations (Python, Perl, Shell, etc.) sont les bienvenues.
Vous avez besoin de ces variables d'environnement :
# utilisé dans les scripts `smack-my-bitch-up` et `hangover`
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
# utilisé dans le script `kumar_asshole`
[email protected]
GMAIL_PASSWORD=password
Pour les scripts Ruby, vous devez installer les gems :
gem install dotenv twilio-ruby gmail
# Exécute `smack-my-bitch-up.sh` du lundi au vendredi à 21h20.
20 21 * * 1-5 /path/to/scripts/smack-my-bitch-up.sh >> /path/to/smack-my-bitch-up.log 2>&1
# Exécute `hangover.sh` du lundi au vendredi à 8h45.
45 8 * * 1-5 /path/to/scripts/hangover.sh >> /path/to/hangover.log 2>&1
# Exécute `kumar-asshole.sh` toutes les 10 minutes.
*/10 * * * * /path/to/scripts/kumar-asshole.sh
# Exécute `fucking-coffee.sh` toutes les heures de 9h à 18h en semaine.
0 9-18 * * 1-5 /path/to/scripts/fucking-coffee.sh
Code publié sous licence WTFPL.