~/lib/jpg/ をバックアップ

Install to Vine Linux 2.1 CR
on casper( Gateway2000 P933 )
2001.12.08

~/lib/jpg/ の場所を移動。
Vine Linux 2.1.5 のディスクが一杯になって来た。
なんせ、mozilla-source-0.9.6.tar.bz2 が 1.6G もしやがるから、 同じく 1.6G もある ~/lib/jpg/ を 現状の /dev/hda6 から /dev/hda5 の ~/lib/jpg/ に移してその場凌ぎをしようという事。
~/lib/jpg/ へはリンクを張り、
バックアップ先は /dev/hda9 の /mnt/lib-backup/ のまま。

1.現状の ~/lib/jpg/ を /mnt/lib-backup/jpg/ へバックアップ
  /mnt/lib-backup/jpg/ を最新の状態にする。
$ cas2lib

2.新しい lib/jpg/ になる /dev/hda5 の jpg を削除。
$ rm -rf /mnt/vine-2.1/home/jun1/lib/jpg

3.この新しい lib/jpg/ にバックアップしておいたファイルをコピー
$ cp -dpR /mnt/lib-backup/jpg/ /mnt/vine-2.1/home/jun1/lib/

4.現状メイン Vine 2.1.5(/dev/hda6) の ~/lib/jpg/ を削除。
$ rm -rf ~/lib/jpg/

5.3.で作った新しい lib/jpg/ から ~/lib/jpg にリンクを張る
$ mkdir ~/lib/jpg
$ cd ~/lib/jpg
$ ln -s /mnt/vine-2.1/home/jun1/lib/jpg/* .

6.バックアップスクリプト ~/bin/cas2lib の修正
$ diff cas2lib cas2lib.old
 < # rsync -auvvz --delete ~/lib/jpg/ /mnt/lib-backup/jpg/ >> ~/tmp/cas2lib ;
 < rsync -auvvz --delete /mnt/vine-2.1/home/jun1/lib/jpg/ /mnt/lib-backup/jpg/ >> ~/tmp/cas2lib ;
  ---
 > rsync -auvvz --delete ~/lib/jpg/ /mnt/lib-backup/jpg/ >> ~/tmp/cas2lib ;




2001.09.03

他のバックアップと同様、balthazer へ丸ごとコピーしようとしたら、
~/lib/jpg/ が でかすぎて(1.4Gもありやんの、何入れてんだ?)
balthazer のディスクに入らなくなっちゃった。

で、しょうがないから、casper の別パーティションにコピー(バックアップ)
することにした。
ホンとは別のディスクにした方が安全なんだけどね。
しょうがない、他に余っているディスクがないんだもん。
melchior のディスクは2つとも2G以下だし。

コピー先は余っている fat32 partion /dev/hda9 にした。
どうせ Win は使わないし。


コピー先のパーティション変更
$ su -
# fdisk /sbin/fdisk

> コマンド (m でヘルプ): p
> ディスク /dev/hda: ヘッド 255, セクタ 63, シリンダ 5606
> ユニット = シリンダ数 of 16065 * 512 バイト

/
デバイス ブート 始点 終点 ブロック ID システム
> /dev/hda1   1 1014 8144923+ b Win95 FAT32 <- WinMe
> /dev/hda2 * 1015 1017 24097+ 83 Linux <- /boot for Vine 2.1CR
> /dev/hda3   1018 5606 36861142+ 5 拡張領域
> /dev/hda5   1018 2037 8193118+ 83 Linux <- Vine 2.1CR
> /dev/hda6   2038 3057 8193118+ 83 Linux <- Vine 2.1.5 今のメイン
> /dev/hda7   3058 4077 8193118+ 83 Linux <- 空き
> /dev/hda8   4078 5097 8193118+ b Win95 FAT32 <- 空き
> /dev/hda9   5098 5597 4016218+ b Win95 FAT32 <- ここを今回は使う
> /dev/hda10   5598 5606 72261 82 Linux スワップ <- Linux Swap

> コマンド (m でヘルプ): t   <- partion type の変更

> 領域番号 (1-10): 9
> 16進数コード (L コマンドでコードリスト表示): 83 <- Linux native
> 領域のシステムタイプを 9 から 83 (Linux) に変更しました

> コマンド (m でヘルプ): p   <- 変更後の状態表示

> ディスク /dev/hda: ヘッド 255, セクタ 63, シリンダ 5606
> ユニット = シリンダ数 of 16065 * 512 バイト

> コマンド (m でヘルプ): w   <- 変更した状態を保存
> 領域テーブルは交換されました!

> ioctl() を呼び出して領域テーブルを再読込みします。
> テーブルの再読み込みがエラーステータス 16 で失敗: デバイスもしくはリソースがビジー状態です.
> 領域情報を正しく更新させるにはシステムを再起動してください。

> 警告: DOS 6.x 領域を作成、または変更してしまった場合は、
> fdisk マニュアルページにある追加情報を参照してください。
> ディスクを同期させます。
なんかエラーメッセージが出ているけどかまわずにリブート(^_^;)

# /sbin/shutdown -h now


System Selector でパーティションの状態確認
パーティションマネージャーを開くと、
ボリュームが、
> 9 ext2
になっているので、変更終了。


Vine Linux 2.1.5 を起動して、
/dev/hda9 をフォーマット

# /sbin/mke2fs -c -v /dev/hda9
   -c   デバイスにファイルシステムを作 成 す る 前 に、
        fast read-only テストを用いて、不良ブロックを検査する。
   -v 表示を冗長にする。
> mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
> Filesystem label=
> OS type: Linux
> Block size=4096 (log=2)
> Fragment size=4096 (log=2)
> 502944 inodes, 1004054 blocks
> 50202 blocks (5.00%) reserved for the super user
> First data block=0
> 31 block groups
> 32768 blocks per group, 32768 fragments per group
> 16224 inodes per group
> Superblock backups stored on blocks:
> 32768, 98304, 163840, 229376, 294912, 819200, 884736
> Running command: badblocks -b 4096 -s /dev/hda9 1004054
> Checking for bad blocks (read-only test): ??? / 1004054
> Checking for bad blocks (read-only test): done

> Writing inode tables: done
> Writing superblocks and filesystem accounting information:
> done
約5分で終了

フォーマットせずにマウントしようとすると、
# mount -t ext2 /dev/hda9 /mnt/hoge
> mount: 間違ったファイルシステムタイプ、不正なオプション、
> /dev/hda9 のスーパーブロックが不正、或いはファイルシステムのマウント
> が多すぎます
と、怒られる。


マウント出来るかの確認
ルートになって、
$ su -
# cd /mnt/

マウントポイントを作って、
# mkdir lib-backup/

いざ、マウント
$ sudo mount -t ext2 /dev/hda9 /mnt/lib-backup/

確認
$ ls -la /mnt/lib-backup/
> drwxr-xr-x 2 root root 16384 Sep 3 22:29 lost+found/
マウント出来ました。


/etc/fstab に /dev/hda9 を追加
$ su -
# vi /etc/fstab
> /dev/hda9 /mnt/lib-backup/ ext2 user 1 2

もう1回リブートして、起動時にマウントされていることを確認。
新しい /etc/fstab はこんな感じ。


でもこのままではなぜか一般ユーザーでの書き込みが出来ない。
# ls -la /mnt/lib-backup/
> drwxr-xr-x 4 root root 4096 Oct 28 18:38 ./
# chmod 757
# ls -la /mnt/lib-backup/
> drwxr-xrwx 4 root root 4096 Oct 28 18:38 ./

これで O.K.

$ cp -dpr ~/lib/jpg/ /mnt/lib-backup/
で、全部コピー。
以降のバックアップは cas2lib で行う。


~/lib/jpg/ のバックアップ
$ rsync -auvvz --delete ~/lib/jpg/ /mnt/lib-backup/jpg/
で、完了
オプションの意味は
  -a archive mode
man を読んでも良く分からんが、とにかくこのオプションが必要らしい
  -u update only
既にあるファイルはコピーしない
  -v メッセージを細かく表示
  -z 圧縮してデーターを送信
  --delete コピー元に無い、コピー先のファイルは削除

ついでに、shell script にするとこんな感じ。
~/bin/cas2lib
バックアップが終ったら、ビープがなって、
変更のあったトコだけをコンソールに表示してくれる。
ログも、"script名.その日.その時間" っていうファイル名で保存されるのだ。




戻る