
英語 | 简体中文
以下は 実話 に基づいています:
xxx: ええと、うちのビルドエンジニアが別の会社に移ってしまったんだ。彼は文字通りターミナルの中で生きていた。そう、Vimが大好きで、Dotで図を作成し、MarkdownでWikiの投稿を書くようなやつだ。何か – どんなことでも – 90秒以上かかるなら、彼はそれを自動化するスクリプトを書く。
xxx: それで俺たちはここに座って、彼の、ええと、「レガシー」を調べているんだ。
xxx: これは気に入るぞ
xxx:
smack-my-bitch-up.sh- (どうやら)妻に「遅くまで仕事」というテキストメッセージを送信する。ランダムに文字列の配列から理由を自動選択する。cronジョブ内で実行される。そのジョブは、午後9時以降にサーバー上に彼のログインによるアクティブなSSHセッションがある場合に発動する。
xxx:
kumar-asshole.sh- 受信トレイから「Kumar」(クライアントのDBA)からのメールをスキャンする。「help」「trouble」「sorry」などのキーワードを探す。キーワードが見つかった場合、スクリプトはクライアントのサーバーにSSH接続し、ステージングデータベースを最新のバックアップにロールバックする。そして「no worries mate, be careful next time」という返信を送信する。
xxx:
hangover.sh- 特定の日付に設定された別のcronジョブ。「気分が悪い/在宅勤務する」などの自動メールを送信する。別の事前定義された文字列配列からランダムな「理由」を追加する。午前8時45分にサーバー上にインタラクティブセッションがない場合に発動する。
xxx: (そしてオスカー賞は)
fucking-coffee.sh- これは正確に17秒待ってから、コーヒーマシンにtelnetセッションを開く(コーヒーマシンがネットワーク上にあり、Linuxを実行し、TCPソケットが起動しているなんてまったく知らなかった)そしてsys brewのようなものを送信する。このマシンは中程度のハーフカフェラテの抽出を開始し、カップに注ぐ前にさらに24秒待つことが判明した。タイミングは、彼の机からマシンまで歩くのにかかる時間と正確に一致している。
xxx: なんてこった、これは残しておくぜ
オリジナル: http://bash.im/quote/436725 (ロシア語) (Archive.org リンク) 他の実装(Python、Perl、Shellなど)のプルリクエストを歓迎します。
以下の環境変数が必要です:
# `smack-my-bitch-up` と `hangover` スクリプトで使用
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
# `kumar_asshole` スクリプトで使用
[email protected]
GMAIL_PASSWORD=password
Rubyスクリプトの場合は、gemをインストールする必要があります:
gem install dotenv twilio-ruby gmail
# `smack-my-bitch-up.sh` を月曜から金曜の午後9時20分に実行。
20 21 * * 1-5 /path/to/scripts/smack-my-bitch-up.sh >> /path/to/smack-my-bitch-up.log 2>&1
# `hangover.sh` を月曜から金曜の午前8時45分に実行。
45 8 * * 1-5 /path/to/scripts/hangover.sh >> /path/to/hangover.log 2>&1
# `kumar-asshole.sh` を10分ごとに実行。
*/10 * * * * /path/to/scripts/kumar-asshole.sh
# `fucking-coffee.sh` を平日の午前9時から午後6時まで毎時実行。
0 9-18 * * 1-5 /path/to/scripts/fucking-coffee.sh
コードはWTFPLのもとで公開されています。