yuu_nkjm blog


2009-07-10(Fri) [長年日記]

[Pukiwiki][CMS][bash][GitHub] Pukiwikiの更新内容をメールで通知するシェルスクリプト (Pukiwiki Update Checker)

シェルスクリプトの練習として,Pukiwikiの更新内容をメールで通知するスクリプトを書いてみた.せっかくなので,公開してみる.cronが使えないサーバでは使えない.

概要

このシェルスクリプトは,設定ファイルを読み込んで動作する.設定ファイルにwikiの設置情報を書き,cronでシェルスクリプトを定期実行する.

以下,6時間おきに更新をチェックする場合の設定を説明する.バックアップの生成タイミングとスクリプトを走らせるタイミングをどう合わせたら良いか分からん.更新情報の報告漏れや重複があると思うが,なんとなく更新が拾えるし,まあ,いいか….

本スクリプトの設定ファイルの書き方

# wikiをインストールしたディレクトリ
WIKI_PATH=/var/www/html/hoge/wiki/
# 更新メールをおくる周期(分)(更新されたファイルリストを生成するfindコマンドに渡される値.cronで一日に一回実行しているので,-mminの値を360にしている.)
INTERVAL=360
# メールの送信先
TO=hoge@gmail.com
# メールのタイトル
SUBJECT=Hoge Wiki is Updated
# ベースとなるwikiのURL.メール本文中のリンク文字列を生成するときに使う.
URL=http://hoge.hogehoge.com/wiki/
# tempファイルを生成する
TEMP_PATH=/home/hoge/tmp/

pukiwikiの設定ファイルの変更

バックアップの周期を適切に設定.

// Bacukp interval and generation
$cycle  = 6;    // Wait N hours between backup (0 = no wait)

呼び出し方

cronにこんな感じで登録.

00  */6  *  *  *  /home/hoge/bin/pukiwiki_update_checker.sh /home/hoge/bin/hoge_wiki_mail.conf

送られてくる更新通知のサンプル

To: hoge@gmail.com
件名: Hoge Wiki is Updated
本文: 
2 pages are updated
---------
Updated Page Name: FrontPage
http://hoge.hoge.info/wiki/?%46%72%6F%6E%74%50%61%67%65
 
更新された行とその前後が記載されます.
---------
Updated Page Name: 
 
(中略)
 
--
Generated by Pukiwiki Checker

ダウンロード

本日のリンク元
その他のリンク元
検索

トップ «前の日記(2009-07-08(Wed)) 最新 次の日記(2009-07-11(Sat))» 月表示 編集 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|