基本オペレーション

  • lscp: cp/ssの状態を表示
OLP02:~# man lscp
マニュアル lscp は登録されていません
OLP02:~# lscp --help
lscp: invalid option -- -
OLP02:~# lscp -h
Usage: lscp [-rsh] [device]

あれま。
あんまりオプションはないみたいだ。
-r でリバース表示順が反転される。
-s はssだけ表示かな?
-h はヘルプ表示。

# lscp
                 CNO        DATE     TIME  MODE  SKT   NBLKINC       ICNT
                 170  2008-03-06 19:11:46  cp     -         27       1431
                 171  2008-03-06 19:11:48  cp     -         26       1431
                 172  2008-03-06 19:37:50  cp     -        486       1431
                 173  2008-03-06 19:37:55  cp     -       7444       1431
                 174  2008-03-06 19:37:56  cp     -       3309       1431
(略)

現在あるcp/ssは全部表示されるのかな。それもちょっと...
せめて、行数指定とか時間範囲指定とかほしいかも。
そんなものは後加工しろっていったら、そうなんだけどね。

  • chcp: cp/ssの状態を変更

cpは定期的にガーベイジコレクタによって削除されてしまうけど、ssは削除されない。

# chcp -h
Usage: chcp [option]... cp|ss [device] cno...
OLP02:~# man chcp
マニュアル chcp は登録されていません
See 'man 7 undocumented' for help when manual pages are not available.

optionは-hのみしかない。
cnoはlscpで表示されるcheckpoint numberのこと。

OLP02:~# chcp ss 170
OLP02:~# lscp
                 CNO        DATE     TIME  MODE  SKT   NBLKINC       ICNT
                 170  2008-03-06 19:11:46  ss     -         27       1431
                 171  2008-03-06 19:11:48  cp     -         26       1431

指定時間間隔でcpをssに自動変更はしてくれないものか。
ssを任意の時点で作るオペレーションは、運用上難しい。
それも他のプロセスで後処理しろっていうことなら、そうなんだけど...

  • mkcp: 現在の状態をcp/ssとして保存

-s cpを作ると同時にssにする。
mkcp -sをcronで回せば、定時ss作成はできるってことか。

  • rmcp: cp/ssの削除

-f 強制実行
-i 対話モード実行


正直なところ、コマンドでできることが少なすぎる気がする。
lscpでは、変更のあった部分について、ファイル名とパスくらいは保管して表示してほしい。それがあるとリカバリ時に大きな助けになる。時間だけではサルベージにかなり無理がある。ブロックデバイスなら無理だけど、NILFSはFSなので、そのくらはできそうな感じ。
ガベコレを今強制実行するような手段がない。
ファイルシステムのヘルスチェックとリカバ方法が提供されていない。
書けたから読み出せるという保証がないのが、最近のディスク品質の問題だから、これは必要だと思う。
最悪の事態で、データサルベージするためのツールもほしいところだ。
あとはcpcpのように任意のcp/ssを指定して取り出せるようなコマンドがあると、いちいちマウントが不要になってうれしい。