msgbartop
だめでつれづれな日記
msgbarbottom

16 1月 12 tarコマンドの–newer-mtimeオプション

CentOS5に付属しているtarコマンド(GNU tar)が高機能で、ある日付以後に修正が入ったファイルだけをバックアップするというオプションがついています。–newer-mtimeオプションというやつです。

以下、man tarを抜粋

       --newer-mtime DATE
              like --newer, but with a DATE

例えばこのコマンドを使って、2012/01/01以後に出力されたログファイルだけを対象にバックアップを取得するには以下を実行すればいいわけです。

$ tar cvfz /var/tmp/backup.tar.gz --newer-mtime 2012-01-01 /var/log

16 1月 12 Windows(cygwin)でのrsync

Windows 7からFreeBSDに対して差分バックアップを取得したかったので、rsync(cygwin)を導入しました。導入は至ってかんたんで、cygwinのsetup.exeから導入しました。

ただ普通にバックアップしようとすると、以下のエラーが出て困りました。。

$ rsync.exe -avz --delete  /cygdrive/d/Java/ www.example.com:/backup/Java
sending incremental file list
created directory /backup/Java
./
rsync: failed to modify permissions on "/backup/Java.": Permission denied (13)
rsync: opendir "/backup/Java." failed: Permission denied (13)
apache-maven-3.0.3/

cygwin上ではWindows上のパーティション(Cドライブとか)は/cygdrive/c配下にマウントされますが、cygdrive上のパーミッションが以下のように見えていて、ディレクトリが権限不足になることが原因のようですね。ま、環境によると思います。

d---------+ 1 ????????       ????????             0 Mar 21  2011 Program Files
d---------+ 1 ????????       ????????             0 Sep 24 15:44 tmp
d---------+ 1 ????????       ????????             0 Oct 16 15:34 Java
d---------+ 1 ????????       ????????             0 Dec 18 22:00 Program Files (x86)

今回は以下chmodオプションで回避しましたが、少々ださいな・・・

rsync.exe -avz --delete --chmod=u+rwx /cygdrive/d/Java/ www.example.com:/backup/Java

04 1月 12 CakePHPでのキャッシュコントロール

Webアプリケーションではキャッシュさせない実装が割と多いと思います。

CakePHP 1.3の場合、boforeFilter()に$this->disableCache()を追加するだけでキャッシュを無効化できるから楽ちんですね。ちなみにソースは以下。cake/libs/controller/controller.phpに書いてます。

function disableCache() {
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
}

Cache-Control: post-check/pre-checkの意味はMSDN参照。

Cache-Control: no-store, no-cache, must-revalidate/Pragma: no-cacheはIPA参照。

03 1月 12 FreeBSD 9.0 RELEASEがでるぞー

FreeBSD 9.0 RELEASEが 2012/01/06付けで出るようですね。

タグをRELENG_9_0_0_RELEASEでcsupしたらダウンロードできたし、/usr/src/UPDATINGファイルには以下の記述が。

20120106:
        9.0-RELEASE.

ただいま、BUILD中。