IFS上に存在するファイル(テキスト,ini,PHP,JS,etc...)を、読み取り/複製 は可能だが、変更/削除 をさせない状態にするコマンド、CHKOUT/CHKIN
をご紹介。
コマンドの使い所
何かの作業中(または常用的)に、開発者のミスで大事な設定(ini,conf)等を誤って変更/削除しない様にブロックさせる、簡易的な排他に使うなどなど。
例えば、PHPサーバー(CS^2、CP+など)のインストール作業中、後に、/www/xxx/conf/httpd.conf
を変更をブロックしたいとする。
方法
使用するコマンド
-
CHKOUT
:排他ON オブジェクトのチェックアウト (CHKOUT) -
CHKIN
:排他OFF オブジェクトのチェックイン (CHKIN)
CHKOUT
コマンドでは、CHKOUT
を実行したカレント・ユーザー以外は、読み取り/複製 のみ可能となる。例え ALLOBJ のユーザーでも 変更/削除 は出来ない。
排他ON/OFF手順
- 作業者と異なるユーザープロファイル(HOGEUSER)でサイオンする
- 排他ON HOGEUSER が
CHKOUT OBJ('/www/cs2/conf/httpd.conf')
を実行する - ~~~ 何らかしらの作業 ~~~ ※この間 HOGEUSER 以外変更不可
- 排他OFF HOGEUSER が
CHKIN OBJ('/www/cs2/conf/httpd.conf')
を実行する
使い方・その他
- オプション
SUBTREE(*ALL)
サブディレクトリ配下のオブジェクトも対象。 - オブジェクトパスの指定にパターンマッチが使用可能。
-
(A)
*
:任意の文字列CHKOUT OBJ('/home/ushiday/temp/a*')
-
(B)
?
:任意の文字CHKOUT OBJ('/home/ushiday/temp/a00?0.txt')
-
(A)
以下は、上記 (A)と(B) でマッチするオブジェクト例
/home
├ ushiday/
└ temp/
├── a.txt (A)
├── a001.txt (A)
├── a0020.txt (A)(B)
├── a0030.txt (A)(B)
├── b.txt
考慮点
- オブジェクト(ファイル)のみが排他され、ディレクトリは排他されない。
- 排他オブジェクトを含むディレクトリは、リネーム可能。削除は出来ない。
-
CHKOUT
中にディレクトリ・リネームしたら、CHKIN
はリネーム後のパスで行う。 -
CHKOUT
可能なオブジェクトは限られている。※詳細は公式リンク参照 -
CHKOUT
中の一覧が分からない(※今のところDSP系コマンド見つからず)