nDiki : diff
スポンサード リンク
Related term
2003年4月23日 (水)
■ [ WiKicker ] SunOS 5.6 にインストール

結局flock 問題は、File::Flock モジュールを使う事にする。 $^O eq 'solaris' な時は File::Flock::lock を使うようにコードを修正。
それから、RCS まわりでも問題。
Warning: missing newline at end of file /tmp/...
といった感じの警告が出て期待した結果が得られない。 調べてみると rcsdiff の呼び出しで警告。 実際には diff が吐いている。 Sun の diff と GNU diff ではファイル末処理が違うようだ。 ということで、こちらは diffutils-2.8.1 と rcs-5.7 を home の下に入れて解決。
ふう、これで WiKicker は
- Debian GNU/Linux sid
- FreeBSD 4.4-RELEASE
- Red Hat Linux 8.0
- Solaris 2.6
で動く事を確認。都合5つ(SunOS は一つのホストで2個動かしている)。 今の所の注意点は
- Apache が suEXEC しているかどうか
- Perl 5.005_03 or Perl v5.8.0 ? (依存ライブラリの問題、UTF-8 の扱いの違い)
- SunOS の flock 問題
- SunOS の diff 問題
といったところか。
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- [ Perl ] Memcached を使ってみる (2004-01-12)
- [ WiKicker ] SpeedyCGI (2003-10-17)
- Debian に RSS リーダ「フレッシュリーダー」をインストール (2006-03-06)
- Warning: SuexecUserGroup directive re... (2004-07-10)
2004年6月5日 (土)
■ パッチ作り

そういえばパッチなんて滅多に作らないな。Cache::Memcached のパッチを作った時の手順をメモしておく。 公開する場合のパッチの作り方はこんな感じでOK?
--- 作成 tar zxvf Cache-Memcached-1.13.tar.gz cp -a Cache-Memcached-1.13 Cache-Memcached-1.13.orig emacs Cache-Memcached-1.13/Memcached.pm diff -ur Cache-Memcached-1.13.orig Cache-Memcached-1.13 > Cache-Memcached-1.13-5.005_03-20040605.diff --- patch する時 tar zxvf Cache-Memcached-1.13.tar.gz patch -p0 < /tmp/Cache-Memcached-1.13-5.005_03-20040605.diff
- 別の人の作業ファイルをCVSにマージ (2005-02-17)
- Cache::Memcached 1.14 の Perl 5.005_03 対応 (2004-07-31)
- 見える化用に 60cm x 40cm のホワイトボードを新調 (2007-04-20)
- 全文検索システム Hyper Estraier をアップデート (2009-07-03)
- howm でサブ階層を作ってメモの一部のみを Dropbox で共有 (2009-10-29)
2005年2月17日 (木)
■ 別の人の作業ファイルをCVSにマージ

都合によってCVS リポジトリにアクセスできないところにいるチームメンバから、変更した作業ファイルを送ってもらった。
さて。
どうするか。
@ 変更元リビジョンがわかっているもの
ファイルに $Id$ などが含まれていてどのリビジョンに対して変更したのかが簡単にわかるものは diff をとって patch をあてるか。 自分の作業ディレクトリとは別にもう一つ作業ディレクトリをチェックアウトして、そこに変更されている作業ファイルを上書きコピー。
cvs diff -r リビジョン -au ファイル名 | patch /path/to/my/working/dir/ファイル名
で自分の作業ファイルにマージ。
@ 変更元リビジョンがわかっていないもの
とりあえず HEAD と diff してみて問題なさそうならそのままマージ。
やっぱりリビジョン番号を埋め込んでおいた方が便利やね。
- TortoiseCVS 1.8.0-RC4 (2004-08-26)
- Cache::Memcached 1.13 の Perl 5.005_03 対応 (2004-06-05)
- パッチ作り (2004-06-05)
- cvs2svn (2004-02-24)
- vc-svn.el を使いたいので Emacs 22 に移行することにした (2006-03-25)
2005年4月2日 (土)
■ DAR で差分/増分バックアップ

普段使っているノート PC は pdumpfs でバックアップをとっている。 任意のスナップショットから簡単にファイルを復元できるので、バックアップ用HDDを別に用意できる場合はこれが便利。
@ 問題1
会社で使っている Windows デスクトップは、rsync でWindowsファイルサーバへ同期。 1世代しかバックアップが無い。 少なくとも数世代前のファイルが復元できるようにしておきたい。
@ 問題2
某 Linux サーバはバックアップ無し! マズイ。 現状、たまに手動で tarball にして保存しているぐらい。
@ DAR
DAR というバックアップコマンドの紹介を見て興味をひかれた。 シンプルながらも使い勝手の良さそう。 Linux でも Windows でも動くというのも嬉しい。
@ DAR を使ってみる
Linux 上で試してみる。
@ テスト用ディレクトリを作成
/tmp の下にテスト用ディレクトリ dar を作成。 その下に home ディレクトリと var ディレクトリを作成する。
mkdir -p /tmp/dar/home/naney mkdir -p /tmp/dar/var/lib/dar echo 'abc' > /tmp/dar/home/naney/file1.txt
/tmp/dar/home 以下バックアップ対象として /tmp/dar/var/lib/dar 以下にバックアップファイルを作成してみることにする。
@ フルバックアップ
最初はフルバックアップ:
dar -c /tmp/dar/var/lib/dar/home-full \
-y9 \
-R /tmp/dar \
home
/tmp/dar/home をフルバックアップした home-full.1.1.dar が /tmp/dar/var/lib/dar にできる。
@ 差分バックアップ(1回目)
ファイルを1つ追加。
echo 'def' > /tmp/dar/home/naney/file2.txt
ここで差分バックアップをとる:
dar -c /tmp/dar/var/lib/dar/home-diff-1 \
-A /tmp/dar/var/lib/dar/home-full \
-y9 \
-R /tmp/dar \
home
home-full.1.dar に対する差分バックアップファイル home-diff-1.1.dar ができる。
@ 差分バックアップ(2回目)および増分バックアップ
もう1つファイルを追加。それから最初にあったファイルを削除してみる。
echo 'ghi' > /tmp/dar/home/naney/file3.txt rm /tmp/dar/home/naney/file1.txt
ここで差分バックアップ(2回目):
dar -c /tmp/dar/var/lib/dar/home-diff-2 \
-A /tmp/dar/var/lib/dar/home-full \
-y9 \
-R /tmp/dar \
home
home-full.1.dar に対する差分バックアップファイル home-diff-1.2.dar ができる。
またインクリメンタルバックアップもとってみる
dar -c /tmp/dar/var/lib/dar/home-inc-2 \
-A /tmp/dar/var/lib/dar/home-diff-1 \
-y9 \
-R /tmp/dar \
home
差分バックアップファイル home-diff-1.1.dar に対する差分バックアップファイル home-diff-2.1.dar ができる。
@ フルバックアップからの復元
dar -x /tmp/dar/var/lib/dar/home-full
を実行。
home/naney/file1.txt
が復元される。
@ フルバックアップ+差分1回目からの復元
dar -x /tmp/dar/var/lib/dar/home-full dar -x /tmp/dar/var/lib/dar/home-diff-1
を実行。
home/naney/file1.txt home/naney/file2.txt
が復元される。
@ フルバックアップ+差分2回目からの復元
dar -x /tmp/dar/var/lib/dar/home-full dar -x /tmp/dar/var/lib/dar/home-diff-2
を実行。
home/naney/file2.txt home/naney/file3.txt
が復元される。
@ フルバックアップ+増分1回目(=差分1回目)+増分2回目からの復元
dar -x /tmp/dar/var/lib/dar/home-full dar -x /tmp/dar/var/lib/dar/home-diff-1 dar -x /tmp/dar/var/lib/dar/home-inc-2
を実行。
home/naney/file2.txt home/naney/file3.txt
が復元される。
@ 運用するには
- dar を使ったバックアップスクリプトの作成(ファイル名生成の処理など)
- cron による定期バックアップの設定
- バックアップファイルをリモートサーバへ転送する手段の用意
- 古いバックアップファイルの削除(ローカル、サーバ)処理の用意
などが必要か。 エラー処理まで含めると結構面倒くさいな。 Perlあたりでまずは簡単なスクリプトを用意するか。
- Windows BOX も DAR で増分バックアップ (2009-01-13)
- もしもの時に家族がデジカメデータ見られるように HDD 購入 (2009-08-27)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- 今日のさえずり - スポーツの制裁金ってどこにいくのだ? (2008-06-11)
- クラッシュは突然に - DAR の使用を再検討 (2009-01-06)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.017909s / load averages: 0.16, 0.20, 0.17
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。