"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

phpのコマンドラインからslackを飛ばすスクリプト



スポンサーリンク

さくらインターネットレンタルサーバで、バックアップが失敗したときにアラートを飛ばしたかったのですが、curlコマンドで権限エラーっぽいのがでて作り込めなかったのでphpでやることにした。

[参考にさせて頂いた記事]
qiita.com

スクリプト

<?php

$channel=$argv[1];
$message=$argv[2];
$username="monitor";
$webhook="ここにwebhookのURLを書きます。";

$post = array(
        'url'  => $webhook,
        'body' => array(
            'payload' => json_encode(array(
            'channel'    => $channel,
            'username'   => $username,
            'icon_emoji' => $monitor,
            'text'       => $message
            )),
         ),
       );


$options = array(
         CURLOPT_URL            => $webhook,
         CURLOPT_POST           => true,
         CURLOPT_POSTFIELDS     => $post["body"],
         CURLOPT_RETURNTRANSFER => true,
         CURLOPT_HEADER         => true,
);

$ch = curl_init();
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($result, 0, $header_size);
$result = substr($result, $header_size);
curl_close($ch);

実行方法

$ php slack.php "infra-backup" "hello"