2005/10/11

PEAR マニュアルを cron で更新

ポスト @ 1:33:05 , 修正 @ 2005/10/11 23:59:45 | ,     このエントリーを含むはてなブックマーク

自分トコに置いてある 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 編集

Post Your Comment


*は入力必須です。E-Mailは公開されません。

1 + 2 =