Twitterのフォロワーさんでプロフィールアイコンがちょいちょい変わる方がおりまして、ずっと不思議だなぁと思っていたところ、その方が「実は自動的に切り替えるアプリを使ってる」というツイートしたのを偶然見かけたので「そんなものがあるんだ」と調べてみました。

検索していくつかそういうサービスは出てきたのですが、いろいろ検索していたら

「IFTTT」っていうのを使うといろいろできることが分かりました。

詳しくは調べていただきたいのですが、自分が理解した範囲で言うと、「SNSの様々なサービスをプログラムを書かずにうまいこと連携してくれるサービス」って感じだと思います。

例で言うと、「Instaに投稿したら、その内容をTwitterにも投稿する」ということが簡単に設定できるということ(らしい)です。

ということで参考ページ

IFTTT を使って Twitter アイコンを日替わりにする
↑こちらは曜日ごとにアップロードするアイコン画像を指定する方法です。

もっと細かく変更できないかということで調べて出ていたのがこちら

Twitterアイコンの自動変更(上級編)
↑こちらは以下の条件を満たしてる場合の方法
・phpが動くサーバーを持っているor借りている
・cronが動くサーバーを持っているor借りている

私は「さくらインターネット」でレンタルサーバーを借りているということで上記の条件を満たします。
ということで、さっそくテスト。

やる内容としては

・アイコン用の画像を複数用意しサーバーにアップ
・複数のアイコン画像からランダムで1つのファイルをコピーして特定のファイル名に変更するPHPスクリプトを作成しサーバーにアップ
・1時間に1回上記のPHPが実行するようCRONに設定
・IFTTTで1時間おきにプロフィール画像を変更する設定をする(簡単)

という感じ。

ただ「CRON???」って感じだったので、「さくら」「CRON」で検索してみたら、上手い具合にHIT!

さくらインターネットのCRON設定を可能な限り簡単に解説したい

さくらインターネット上でどこをいじればよいのか判明。

ということでPHPのスクリプトは上記のサイトを参考に作成。
アイコン画像と一緒にPHPのプログラムもサーバーにアップロード。

さくらインターネットのコントロールパネルでCRONの実行時間を設定ししばし待機。実行時間になるもどうもPHPが実行されていないようだ。
PHP単体で動かすと動作しているようなので途方に暮れそうになるが再度「さくらインターネット cron 動かない」で検索。

いやぁ、でるもんですね。

CRONが動作しません。

動作しない例
/usr/local/bin/php /home/アカウント名/プログラム名

動作する例
cd /home/アカウント名/www/programs ; /usr/local/bin/php プログラム名


CRONに記述した内容がフルパスだと動作せず、いったんディレクトリを移動させてから実行させると動作することがあるということだったので、それで試してみたらあっさり動作しました。いやぁ、Google様様です。