私が他の人に私のウェブサイトへのリンクを含む電子メールを送信し、その人がその電子メールを訪問することを本当に望んでいるとしましょう。
http://www.example.com/?utm_source=email392
または
http://www.example.com/somefile.pdf?utm_source=email392
定期的な確認でこのURLにアクセスするときに、Linuxでアクション(自動メール送信など)をトリガーするようにするにはどうすればよいですか/var/log/apache2/other_vhosts_access.log
。
さまざまなソース/ウェブサイト(一部はPHPを使用し、一部はダウンロードするファイルにリンクするなど)に対して行う必要があるため、PHPレベルでこれを行うことはできません。でもPHPを使用しているサイトの場合でも、望ましくないそこから開始するようにそれぞれを変更するindex.php
ので、Apacheログの解析方法を好む)
ベストアンサー1
Bashプロセス交換を使用したリアルタイムログ監視:
#!/bin/bash
while IFS='$\n' read -r line;
do
# action here, log line in $line
done < <(tail -n 0 -f /var/log/apache2/other_vhosts_access.log | \
grep '/somefile.pdf?utm_source=email392')
プロセスの置き換え内部パイプの出力を読み取りループに供給します<(...)
。ログ行自体は変数に割り当てられます$line
。
ログを表示するには、次の方法を使用します。tail -f
、ログに書き込まれる行を出力します。ログファイルが定期的に移動する場合ログの回転、ファイル記述子の代わりにファイルパスを監視するオプションが--follow=name
追加されました。--retry
出力は以下から来ます。尾への輸送grep
、URLに一致する関連行をフィルタリングします。