ポスグレでもMySQLでも簡易バックアップスクリプト(dumpファイル作るヤツ)って毎回書くんですけど、いつもいつも適当なのを作って、次必要になったときにはそのスクリプトが見当たらず、また適当なのを作成・・・。

その永久ループ脱出+苦手なシェルスクリプト上達の為にバックアップスクリプトを良くしていく一人計画スタート!

#!/bin/sh
#
# db_backup -  database backup Script.
#
# Copyright (C) 2005 Masaki Komagata <komagata@p0t.jp> 
#     All rights reserved.
#     This is free software with ABSOLUTELY NO WARRANTY.
#
# You can redistribute it and/or modify it under the terms of 
# the GNU General Public License version 2.
#
USER=
DB=
TARGET_DIR=./
FILENAME=backup
KEEP_DAYS=7

set -- `getopt u:d:t:f:h $*`
if [ $? != 0 ]; then
    exit 1
fi
while [ $1 != -- ]; do
    case $1 in
    -u)
        USER=$2;
        shift;;
    -d)
        DB=$2;
        shift;;
    -t)
        TARGET_DIR=$2;
        shift;;
    -f)
        FILENAME=$2;
        shift;;
    -k)
        KEEP_DAYS=$2;
        shift;;
    -h)
        echo "Usage: -u USER -d DATABASE [-t TARGETDIR] [-f FILENAME] [-k KEEPDAYS]" 
        exit 1;;
    esac
    shift
done
shift

pg_dump $DB -U $USER | gzip > ${TARGET_DIR}${FILENAME}`date +%Y%m%d%H%M%S`.dmp.gz
find $TARGET_DIR -name "$FILENAME*.dmp.gz" -maxdepth 1 -mtime +$KEEP_DAYS -type f -exec rm -f {} \;

自分バックアップスクリプト史的にはパラメータをパースするgetopt(1)コマンドの発見がでかい。
「普通はこうやる」、「ていうかそのバックアップの考え方自体間違ってる」等御座いましたら宜しくお願い致します。

japan.linux.com | Trolltech:オープンソースビジネスの好事例

Trolltech社は、1994年、Haavard NordとEirik Chambe-Engによって設立された。設立目標は、アプリケーション開発の助けとなるフリーのクロスプラットフォームGUIツールキットを作成することだった。2人で設立資金を捻出し、’Qt’(「キュート」と発音)というツールキットを作った。

Qt、キュートと読むのかよ!Putty = パティ以来の衝撃だよ。

BMediaNode: Symfony は Mojavi3 の fork

symfony のソースを眺めていたら mojavi の Sean Kerr 氏のクレジットがあったので「どういう繋がり?」と不思議だったのですが、Credits によるとそもそも symfony が mojavi3-dev からの fork だったのですね。

なるほど。ちょうどMojavi Forumにもsymfonyの人の投稿が。

Mojavi3-DEV fork, Mojavi4 and collaboration, symfony framework

ZEND ANNOUNCES INDUSTRY-WIDE PHP COLLABORATION PROJECT AT ITS INAUGURAL PHP CONFERENCE
  1. Zend PHP Framework: A Web application framework which will standardize the way PHP applications are built. The Zend PHP Framework will accelerate and improve the development and deployment of mission-critical PHP Web applications
  2. Engagement with the Eclipse Foundation: Zend is joining the Eclipse Foundation as a Strategic Developer. Zend is now proposing to lead a project focused on PHP within Eclipse

Zendのプレスリリース、PHP COLLABORATION PROJECT。

・エンタープライズ向けWebアプリケーションフレームワーク作る。 ・Eclipse Foundationと組んでEclipseのPHPプラグイン作る。

エンタープライズ/ミッションクリティカルな用途向けっつーとEJBみたいなのを作るってことかな? Eclipseの方もどうなるのか気になるところ。IBMがPHP用のPluginを寄与するんじゃないかと勝手に予想してたんですが、Zendがやるんですね。PHPEclipse、TruStudioはどうなるのか!

よくきたblog – RoundCube Webma

どっちかというとPHPのプログラムの参考書としてはイマイチ. 中のIMAPライブラリはPHPスクリプトで完全にIMAPをしゃべることができるようになるので,その参考にはなるかも.って程度?

RoundCube。PHPベースのWebmailだそうです。 超良さそう!・・・・・・・・・見た目が! WebmailはSquirrelMailでいいやとかひよっていては駄目ですな。

PHPを極めて起業する – 勉強会のネタができた。

今PEARのProposalにあがってるとあるライブラリ(コードがかなりごちゃごちゃしてる)をEthnaのActionForm向けに書き直しました。

三日もかかってしまった自分に反省。

テキストフォーム作るのと同じ感覚でできるようにしてあります。

QF Haters必見。

「・・・・・・・っ!!??」

Delphinus, PEAR Proposal, Ethna, QF・・・聞きてぇ!

『Beyond Java』 – 角谷HTML化計画 (2005-10-18)

著者のBruce.A.Tateは『軽快なJava』の共著者。

Bruce.A.TateのJava本!!?? 軽快なJavaはかなり影響を受けたのでこっちも超読みたい。・・・翻訳されたら。

Beyond Java
  • Beyond Java
  • Oreilly & Associates Inc(2005-09)
  • (著)Bruce A. Tate
  • 定価:¥ 2,968
  • 新品価格:¥ 2,270
  • ASIN:0596100949
軽快なJava―Better,Faster,Lighter Java
  • 軽快なJava―Better,Faster,Lighter Java
  • オライリージャパン(2004-09)
  • (著)ブルース・A. テイト
  • (著)ジャスティンゲットランド
  • (原著)Bruce A. Tate
  • (原著)Justin Gehtland
  • (翻訳)岩谷宏
  • 定価:¥ 2,940
  • 新品価格:¥ 2,940
  • 中古価格:¥ 2,000
  • ASIN:487311201X

この間注文したPHP Phrasebook届きました。

実物はちっちゃくてかわいい! フレーズなのでクックブックよりもっとちょっとしたコードがたくさん載ってて楽しいです。 ↓こんな感じの超ちょっとしたコードがたくさんある感じです。

Sorting Nested Arrays

function srotNestedArray(&$a) {
    sort($a);
    for ($i = 0; $i < count($a); $i++) {
        if (is_array($a[$i])) {
            sortNestedArray($a[$i]);
        }
    }
}

相当かわいい!

ref: PHP Phrasebook

Php Phrasebook
  • Php Phrasebook
  • Sams(2005-09-02)
  • (著)Christian Wenz
  • 定価:¥ 1,746
  • 新品価格:¥ 1,484
  • ASIN:0672328178
PECL :: Package :: sdo :: 0.6.0

This release adds a small number of new features: - The Relational DAS now supports nulls: an SQL NULL in the database is represented as a PHP null in the data object and vice versa - The important SDO classes all support toString() - The SDO_DataObject class now supports clone()

PECL sdoが0.6.0にバージョンアップ。 ヘテ(略

ref: PECL sdoバージョンアップ

SaikyoLine.jp: パスワード入力なしでpsql

psqlにはデータベース名やホスト名、ユーザ名などを指定するオプションはあるが、パスワードを指定するオプションはない。 これではシェルスクリプトなどで、psqlを使いたい場合に困ってしまう。

そこで調べてみると、「$HOME/.pgpass」を作って、そこに書けばいいらしい。

ズバリ知りたかった内容。