今天要分享如何自動將irc的log紀錄下來,並定期將其轉為html並放到web上供人瀏覽及搜尋
我本身架設起來的結果是開機會自動開啟irssi,自動connect和join及log
再定期將log轉為html頁面放到web上供人瀏覽及搜尋
先前已簡單分享IRC server架設及irssi client軟體的使用
今天則是要分享如何自動將irc的log紀錄下來,並定期將其轉為html並放到web上供人瀏覽
及搜尋
其中有些地方我並沒有詳查其內容,僅就功能面來分享
我本身架設起來的結果是開機會自動開啟irssi,自動connect和join及log
再定期將log轉為html頁面放到web上供人瀏覽及搜尋
若我寫的有誤或有更好的方法歡迎指教
1.需要的程式和軟體:
已經簡介過的irc server及client就不再重複,此次是在CentOS上以rpm方式安裝,載點如下
irc server:
http://rpm.pbone.net/index.php3/stat/4/idpl/9548553/dir/redhat_el_5/com/ircd-ratbox-2.2.8-2.el5.x86_64.rpm.html
http://www.ircd-ratbox.org/
irc client:
http://packages.sw.be/irssi/
http://www.irssi.org/
irclog2html: (此為將irclog轉為html的程式)
http://rpm.pbone.net/index.php3/stat/4/idpl/13713450/dir/redhat_el_5/com/irclog2html-2.7-3.svn68.el5.noarch.rpm.html
http://pypi.python.org/pypi/irclog2html
因為要將網頁放到web上,故這邊就以apache作為web server
在此簡單列出其它參考的網站:
willie 及 rellik 大大的親身指導 XD
http://linux.vbird.org/
http://blog.seety.org/everydaywork/2005/3/15/253/
2.設定流程:
先以rpm安裝所有程式後
第一步是設定開機能自動以irclog身份開啟irssi,並自動connect join log
第二步是定期將log轉為html檔
第三步是將html放到web上且可搜尋
3.設定自動連線及儲存log:
在client的irssi上(假設目前client和server在同一台)以irclog身份(自建帳號)登入
並假設irc server的network為chatnet,聊天室名稱為chat
修改~/.irssi/config內容中含有以下設定
servers = (
開啟irssi登入並join #chat後,於irssi中依序執行以下命令
/network add chatnet
/server add -auto -network chatnet 127.0.0.1
/channel add -auto #chat chatnet
再建立~/.irssi/startup,使其自動log(但不包含join、leave和quit的訊息),操作如下
vim ~/.irssi/startup
/LOG OPEN -targets #chat ~/irclogs/chat/%Y-%m-%d.log ALL -JOINS -QUITS -PARTS
或是於irssi中執行
/set autolog ON
/set autolog_level ALL -JOINS -QUITS -PARTS
/set autolog_path ~/irclogs/chat/%Y-%m-%d.log
而如果是不要在channel中顯示join、leave和quit的訊息可執行
/IGNORE #chat JOINS QUITS PARTS
如果哪天又想再看到可執行
/IGNORE #chat -JOINS -QUITS -PARTS
設定開機後自動以irclog身份啟動screen保持Detached狀態,並開啟irssi
vim /etc/rc.local
su -l irclog -c '/usr/bin/screen -dms bash /usr/bin/irssi'
4.定期將log轉為html檔:
以irclog身份設定crontab,每小時的10分時自動將.log轉為.html(-S代表含search功能)
crontab -e
5.
將html放到web上且可搜尋:
<Directory "/home/irclog/irclogs/chat">
Options Indexes MultiViews SymLinksIfOwnerMatch
AllowOverride None
Order allow,deny
Allow from all
</Directory>
最後就可以用web瀏覽器連到 http://SERVER-IP/log 中查看並搜尋irc log
從諮商輔導人心
到諮商輔導資訊系統及網路世界
雖繞了一大圈 但都是極具意義的事
秉持著過去所學 朝著自己的興趣
體驗著一輩子只有一次的人生~~