1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ILERPGAdvent Calendar 2022

Day 1

CHKOUT ,CHKIN コマンドで簡易的な排他をする

Last updated at Posted at 2022-11-30

IFS上に存在するファイル(テキスト,ini,PHP,JS,etc...)を、読み取り/複製 は可能だが、変更/削除 をさせない状態にするコマンド、CHKOUT/CHKIN をご紹介。

コマンドの使い所

何かの作業中(または常用的)に、開発者のミスで大事な設定(ini,conf)等を誤って変更/削除しない様にブロックさせる、簡易的な排他に使うなどなど。
例えば、PHPサーバー(CS^2、CP+など)のインストール作業中、後に、/www/xxx/conf/httpd.conf を変更をブロックしたいとする。

方法

使用するコマンド

CHKOUTコマンドでは、CHKOUT を実行したカレント・ユーザー以外は、読み取り/複製 のみ可能となる。例え ALLOBJ のユーザーでも 変更/削除 は出来ない。

排他ON/OFF手順

  1. 作業者と異なるユーザープロファイル(HOGEUSER)でサイオンする
  2. 排他ON HOGEUSERCHKOUT OBJ('/www/cs2/conf/httpd.conf') を実行する
  3. ~~~ 何らかしらの作業 ~~~ ※この間 HOGEUSER 以外変更不可
  4. 排他OFF HOGEUSERCHKIN OBJ('/www/cs2/conf/httpd.conf') を実行する

もし排他ONの状況で削除したりすると、以下の様になる。
2022-11-11_142854.png

使い方・その他

  1. オプション SUBTREE(*ALL) サブディレクトリ配下のオブジェクトも対象。
  2. オブジェクトパスの指定にパターンマッチが使用可能。
    • (A) * :任意の文字列 CHKOUT OBJ('/home/ushiday/temp/a*')
    • (B) ? :任意の文字 CHKOUT OBJ('/home/ushiday/temp/a00?0.txt')

以下は、上記 (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系コマンド見つからず)
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?