Plaggerをインストールします。(2014年版)
環境は、Windows8 + Vagrantに立てたCentOS 6.4です。
RSSを取得して、csvにするところまでやります。
Windows8にVagrantをインストールしてCentOSを入れる
http://d.hatena.ne.jp/fitflavor/20131020/1382250424
CentOS6.3にperlbrew,Perl 5.16, cpanmを一気にインストールする方法
http://dqn.sakusakutto.jp/2012/08/centos63_perlbrew_perl_cpanm.html
# yum -y install openssl-devel expat-devel db4-devel libxml2-devel perl gcc make git
perlbrewを利用して、使用するPerlのバージョンを上げます。
※ CentOSにデフォルトでインストールされているPerlだと、コアモジュール不足でダメだそうです。 https://github.com/miyagawa/cpanminus/issues/303
# curl -Lk http://xrl.us/perlbrewinstall | bash
# echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bashrc
# source ~/.bashrc
# source ~/perl5/perlbrew/etc/bashrc
# perlbrew available
# perlbrew install perl-5.16.3
switchします。
# perlbrew switch perl-5.16.3
cpanmをインストール。
# perlbrew install-cpanm
Perlのバージョンを確認。
# perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux
cpanモジュールをインストール。
# cpanm local::lib
# cpanm Module::Install
# cpanm Test::Base
# cpanm YAML
# cpanm Text::CSV_PP
# cpanm XML::Simple
# cpanm XMLRPC::Lite
# LANG=C cpanm Crypt::SSLeay
# LANG=C cpanm --force Net::MovableType
# cpanm Module::Install::TestBase
Plaggerをインストール。
# cd /usr/local/share
# git clone https://github.com/miyagawa/plagger.git
# cd plagger/
# cpanm --installdeps .
シェバンを変更。
# vim plagger
#!/usr/bin/perl
->
#!/usr/bin/env perl
Plaggerのバージョンを確認。
# ./plagger -v
Plagger version 0.7.17
http://d.hatena.ne.jp/otomojamjam/rss フィードからtitileを抜き出して、/tmp/plagger-test/rss.csv に落とし込みます。
Plaggerが使うディレクトリを作成。
# mkdir -p /tmp/plagger-test/
設定ファイルを書きます。
# vim /tmp/plagger-test/config.yaml
global:
assets_path: /tmp/plagger-test/assets
timezone: Asia/Tokyo
cache:
base: /tmp/plagger-test
log:
level: debug
plugins:
- module: Subscription::Config
config:
feed:
- url: http://d.hatena.ne.jp/otomojamjam/rss
- module: Filter::Rule
rule:
module: Deduped
- module: Publish::CSV
config:
dir: /tmp/plagger-test
encoding: utf-8
filename: rss.csv
mode: append
column:
- title
Plaggerを実行させます。
# /usr/local/share/plagger/plagger -c /tmp/plagger-test/config.yaml
rssを取得できているでしょうか?
# cat /tmp/plagger-test/rss.csv
"紅白「あまちゃん 第157話」"
"PITINN4デイズ〜紅白リハ"
"お腹いっぱいかもだけど年末年始いろいろ出ま〜〜す"
"紅白あまちゃんスペシャルビッグバンド出演決定 メンバー詳細です"
"Quartets in Bangkok"
※ Dedupedオプションを使用しているので、一度読み込んだフィードは再度読み込みません。
再読み込みしたい場合は、/tmp/plagger-test/Deduped.dbファイルを削除しましょう。
環境変数のPATHを表示します。
# env | grep PATH
MANPATH=/root/perl5/perlbrew/perls/perl-5.16.3/man:
PATH=/root/perl5/perlbrew/bin:/root/perl5/perlbrew/perls/perl-5.16.3/bin:/sbin:/bin:/usr/sbin:/usr/bin
PERLBREW_MANPATH=/root/perl5/perlbrew/perls/perl-5.16.3/man
PERLBREW_PATH=/root/perl5/perlbrew/bin:/root/perl5/perlbrew/perls/perl-5.16.3/bin
PATH=の行をcrontabに記述します。
さらに、cron実行結果を/var/log/messagesに出力するようにしました。
# crontab -e
PATH=/root/perl5/perlbrew/bin:/root/perl5/perlbrew/perls/perl-5.16.3/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * /usr/local/share/plagger/plagger -c /tmp/plagger-test/config.yaml 2>&1 | logger -t plagger-test
実行できているでしょうか?
# tail -f /var/log/messages
Perlの実行環境を整えて、Plaggerを定期実行できるようにしました。
Perl・Plaggerの構築方法は、数年前と変わらないです。
perlbrew・cpanmのおかげですね。
環境は、Windows8 + Vagrantに立てたCentOS 6.4です。
RSSを取得して、csvにするところまでやります。
参考URL
Windows8にVagrantをインストールしてCentOSを入れる
http://d.hatena.ne.jp/fitflavor/20131020/1382250424
CentOS6.3にperlbrew,Perl 5.16, cpanmを一気にインストールする方法
http://dqn.sakusakutto.jp/2012/08/centos63_perlbrew_perl_cpanm.html
yumライブラリをインストール
# yum -y install openssl-devel expat-devel db4-devel libxml2-devel perl gcc make git
Perlのインストール
perlbrewを利用して、使用するPerlのバージョンを上げます。
※ CentOSにデフォルトでインストールされているPerlだと、コアモジュール不足でダメだそうです。 https://github.com/miyagawa/cpanminus/issues/303
# curl -Lk http://xrl.us/perlbrewinstall | bash
# echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bashrc
# source ~/.bashrc
# source ~/perl5/perlbrew/etc/bashrc
# perlbrew available
# perlbrew install perl-5.16.3
switchします。
# perlbrew switch perl-5.16.3
cpanmをインストール。
# perlbrew install-cpanm
Perlのバージョンを確認。
# perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux
Plaggerのインストール
cpanモジュールをインストール。
# cpanm local::lib
# cpanm Module::Install
# cpanm Test::Base
# cpanm YAML
# cpanm Text::CSV_PP
# cpanm XML::Simple
# cpanm XMLRPC::Lite
# LANG=C cpanm Crypt::SSLeay
# LANG=C cpanm --force Net::MovableType
# cpanm Module::Install::TestBase
Plaggerをインストール。
# cd /usr/local/share
# git clone https://github.com/miyagawa/plagger.git
# cd plagger/
# cpanm --installdeps .
シェバンを変更。
# vim plagger
#!/usr/bin/perl
->
#!/usr/bin/env perl
Plaggerのバージョンを確認。
# ./plagger -v
Plagger version 0.7.17
Plaggerの動作チェック
http://d.hatena.ne.jp/otomojamjam/rss フィードからtitileを抜き出して、/tmp/plagger-test/rss.csv に落とし込みます。
Plaggerが使うディレクトリを作成。
# mkdir -p /tmp/plagger-test/
設定ファイルを書きます。
# vim /tmp/plagger-test/config.yaml
global:
assets_path: /tmp/plagger-test/assets
timezone: Asia/Tokyo
cache:
base: /tmp/plagger-test
log:
level: debug
plugins:
- module: Subscription::Config
config:
feed:
- url: http://d.hatena.ne.jp/otomojamjam/rss
- module: Filter::Rule
rule:
module: Deduped
- module: Publish::CSV
config:
dir: /tmp/plagger-test
encoding: utf-8
filename: rss.csv
mode: append
column:
- title
Plaggerを実行させます。
# /usr/local/share/plagger/plagger -c /tmp/plagger-test/config.yaml
rssを取得できているでしょうか?
# cat /tmp/plagger-test/rss.csv
"紅白「あまちゃん 第157話」"
"PITINN4デイズ〜紅白リハ"
"お腹いっぱいかもだけど年末年始いろいろ出ま〜〜す"
"紅白あまちゃんスペシャルビッグバンド出演決定 メンバー詳細です"
"Quartets in Bangkok"
※ Dedupedオプションを使用しているので、一度読み込んだフィードは再度読み込みません。
再読み込みしたい場合は、/tmp/plagger-test/Deduped.dbファイルを削除しましょう。
Plaggerをcronで定期実行
環境変数のPATHを表示します。
# env | grep PATH
MANPATH=/root/perl5/perlbrew/perls/perl-5.16.3/man:
PATH=/root/perl5/perlbrew/bin:/root/perl5/perlbrew/perls/perl-5.16.3/bin:/sbin:/bin:/usr/sbin:/usr/bin
PERLBREW_MANPATH=/root/perl5/perlbrew/perls/perl-5.16.3/man
PERLBREW_PATH=/root/perl5/perlbrew/bin:/root/perl5/perlbrew/perls/perl-5.16.3/bin
PATH=の行をcrontabに記述します。
さらに、cron実行結果を/var/log/messagesに出力するようにしました。
# crontab -e
PATH=/root/perl5/perlbrew/bin:/root/perl5/perlbrew/perls/perl-5.16.3/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * /usr/local/share/plagger/plagger -c /tmp/plagger-test/config.yaml 2>&1 | logger -t plagger-test
実行できているでしょうか?
# tail -f /var/log/messages
まとめ
Perlの実行環境を整えて、Plaggerを定期実行できるようにしました。
Perl・Plaggerの構築方法は、数年前と変わらないです。
perlbrew・cpanmのおかげですね。