2005/10/11
PEAR マニュアルを cron で更新
自分トコに置いてある PEAR マニュアルを自動的に更新するようにしてみた。
書いたのは shell スクリプトと サーバにアップするための php スクリプト
クライアント(自宅鯖)実行用で、レンタルサーバなどにアップして使ってたら怒られます。きっと。
shell スクリプトは ~/bin/peardocco とでもして以下のように書いてみた。
#!/bin/sh
cd /home/nowel/workspace/php
cvs -d :pserver:cvsread@cvs.php.net:/repository checkout peardoc
cd peardoc
# ELF さんの助言により追加
make distclean
# この辺は適当に。
autoconf && ./configure --with-lang=ja && make
# 色づけ(でもhtmlじゃ意味ない?) ← html でも色づけは有効になるっぽい。
php colorize.php html
# ftp で html ファイルをアップするための php スクリプト
peardocup
php スクリプトも同じく ~/bin/peardocup とかして以下のように書いてみた。
#!/usr/bin/php -q
<?php
$ftp = ftp_connect("peardoc.xole.net");
ftp_pasv($ftp, true);
$docdir = "/home/nowel/workspace/php/peardoc";
if( $ftp !== false && ftp_login($ftp, "username", "password") ){
$dir = dir( $docdir . "/html" );
while( ($ent = $dir->read()) !== false){
if( $ent != "." && $ent != ".." ){
$file = $dir->path . "/" .$ent;
$ups = ftp_put($ftp, $ent, $file, FTP_ASCII);
if( $ups ){
echo "upload file: ". $file . "\n";
unlink($file);
}
}
}
$dir->close();
}
ftp_close($ftp);
?>
だいたいこんな感じ。あとは cron に登録 → 放置
unlink() 使ってるのは趣味で、特に深い意味は無いです。
あと、 ftp_nb_put() を使うと ftp_nb_continue() とかあるんで、ここら辺は必要に応じて使い分てください。
それ以外はいたってフツーの ftp 操作です。
これで、毎日PEAR マニュアルが更新されていれば正解。
# 最近 pear もパッケージ増えて、面白いのが沢山あるので、久々に翻訳再開したいと思います。
Trackback
No Trackbacks
Track from Your Website
http://blog.xole.net/trackback/tb.php?id=321

2 Comments
Re: PEAR マニュアルを cron で更新
個人的には念のためにautoconfとかする前にmake distcleanで綺麗さっぱりにしています.
From : ELF @ 2005-10-11 23:16:58 編集
Re: PEAR マニュアルを cron で更新
なるほど、確かに make distclean はある種必須かもしれないです。
あと make test とかを入れてエラー時の処理も何か書けそうですね。
修正しますー
From : nowel @ 2005-10-11 23:54:56 編集