Man page - pslogin(1)
Manual
mirrordir
名 前書 式
説 明
セ キ ュ リ テ ィ と 暗 号 化
オ プ シ ョ ン
FTP の サ ポ ー ト
例
環 境 変 数
返 り 値
バ グ
フ ァ イ ル
準 拠
入 手 方 法
著 者
関 連 項 目
名 前
pslogin - 強 力 な ス ト リ ー ム cipher 暗 号 化 と diffie-hellman 鍵 交 換 を 用 い た 安 全 な リ モ ー ト tcp ロ グ イ ン
forward - 任 意 の tcp ソ ケ ッ ト を 安 全 か つ 暗 号 化 さ れ た チ ャ ネ ル に フ ォ ワ ー ド す る
copydir, mirrordir - 変 更 さ れ た 最 小 の 部 分 の み を 用 い て (ロ ー カ ル 、 FTP 経 由 、 安 全 な tcp 接 続 経 由 で ) デ ィ レ ク ト リ ツ リ ー を コ ピ ー ま た は ミ ラ ー す る
recursdir - フ ァ イ ル の 操 作 /検 索 や tar フ ァ イ ル 作 成 の た め に 、 ロ ー カ ル ま た は リ モ ー ト の デ ィ レ ク ト リ を 再 帰 的 に 探 索 す る
書 式
mirrordir
[
-a
,
--access-times
]
[
-m
,
--strict-mtimes
]
[
--no-mtimes
]
[
--ignore-size
]
[
-A
,
--mtime-threshold
ext
]
[
--time-offset
[[
+
]|
-
][
H
]
H
[
:MM
]]
[
-A
,
--always-write
]
[
-r
,
--restore-access
]
[
--no-chown
]
[
--no-chmod
]
[
-D
,
--only-delete
]
[
-b
,
-S
,
--backup-extension
,
--suffix
ext
]
[
-N
,
--num-backups
num
]
[
-O
,
--backup-outdate
sec
]
[
-B
,
--block-size
bytes
]
[
-M
,
--max-bytes
num
[
K
|
M
|
G
]]
[
-s
,
--starting-file
path
]
[
-i
,
--ignore-next-exclude
]
[[
-i
]
-X
,
--exclude
path
]
[[
-i
]
-X
,
--exclude
path
] ...
[[
-i
]
-F
,
--exclude-from
file
]
...
[[
-i
]
-G
,
--exclude-glob
expr
]
[[
-i
]
-G
,
--exclude-glob
expr
]
...
[[
-i
]
-R
,
--exclude-regexp
expr
]
[[
-i
]
-R
,
--exclude-regexp
expr
]
...
[
-C
,
--exclude-script
[
expr
|
file
]] [
-C
,
--exclude-script
[
expr
|
file
]] ...
[
-h
,
--help
]
[
-v
,
--verbose
] [
-v
,
--verbose
]
...
[
-V
,
--version
]
[
-k
,
--keep-files
]
[
-l
,
--no-hard-links
]
[
--follow-symlinks
]
[
-L
,
--strict-locking
]
[
-p
,
--password
password
]
[
-P
,
--password-exact
password
]
[
--test-login
]
[
--no-warn-first-login
]
[
--read-password-from-stdin
]
[
--allow-empty-ftp-dirs
]
[
--no-allow-empty-ftp-dirs
]
[
--netrc
]
[
--no-netrc
]
[
--proxy-host
host
]
[
--secure
]
[
-z
,
--gzip
]
[
--gzip-backups
]
[
--case-insensitive
]
[
--to-lower
]
[
--to-upper
]
[
--no-use-passive-connections
]
[
-K
,
--key-size
bits
]
[
--download-scripts
]
[
--tar-file
filename
]
[
--tar-block-size
N
]
[
-t
,
--dry-run
,
--test-only
]
[
--nice
num
]
control mirror
mirrordir [ -c | --copy-mode | --recurs-mode ] -[ abBCdDFGhklMmNOopRrstvVX ] src [ src ...] dest
copydir -[ abBCdeFGhklMmNOopRrstvVX ] src [ src ...] dest
recursdir -[ abBCdeFGhklMmNOopRrstvVX ] src [ src ...]
pslogin [ --key-size bits ] [ mc:// ][ username @ ] hostname [ : portnumber ][ / path ]
し
か し 通 常 は 単
に :
mirrordir
[
--exclude
path
]
control
mirror
copydir
src
[
src
...]
dest
recursdir
src
[
src
...] [
-C
program
]
pslogin
[
username
@
]
hostname
[
:
portnumber
]
説 明
mirrordir は デ ィ レ ク ト リ を 操 作 し た り ミ ラ ー す る 際 に 便 利 な ユ ー テ ィ リ テ ィ の 集 ま り で あ る 。 ssh (1) の 代 替 に な る コ マ ン ド pslogin や 、 任 意 の TCP ソ ケ ッ ト 接 続 を 暗 号 化 さ れ た 安 全 な チ ャ ネ ル に フ ォ ワ ー ド す る forward (1) も 含 ま れ て い る 。
mirrordir は 2 つ の デ ィ レ ク ト リ control と mirror と の 間 で 異 な る フ ァ イ ル を 、 control か ら mirror へ と コ ピ ー す る 。 修 正 時 刻 (modification time) ま た は サ イ ズ が 異 な る フ ァ イ ル が コ ピ ー さ れ る 。 フ ァ イ ル の 許 可 属 性 ・ 所 有 者 ・ 修 正 時 刻 ・ ア ク セ ス 時 刻 (--access-time が 用 い ら れ た 場 合 の み )・ ス テ ィ ッ キ ー ビ ッ ト ・ デ バ イ ス タ イ プ が 複 製 さ れ る 。 シ ン ボ リ ッ ク リ ン ク は リ ン ク 先 の 解 決 を さ れ ず に そ の ま ま コ ピ ー さ れ る 。 シ ン ボ リ ッ ク リ ン ク の 修 正 ・ ア ク セ ス 時 刻 (シ ン ボ リ ッ ク 自 身 の も の で 、 シ ン ボ リ ッ ク が 指 す フ ァ イ ル の も の で は な い こ と に 注 意 ) は 保 存 さ れ な い 。 ハ ー ド リ ン ク さ れ た フ ァ イ ル は 単 に コ ピ ー さ れ る 。 生 成 時 刻 は 、 私 の 知 る 限 り Unix で は 設 定 で き な い 。
mirrordir は 危 険 な コ マ ン ド で あ る 。 mirror に あ っ て control に な い フ ァ イ ル や デ ィ レ ク ト リ は 削 除 さ れ る か ら で あ る 。 も し control が 完 全 に 空 の 場 合 に は 、 mirror の す べ て の フ ァ イ ル や デ ィ レ ク ト リ が 削 除 さ れ る 。 も し mirror が 完 全 に 空 の 場 合 に は 、 control の す べ て の フ ァ イ ル や デ ィ レ ク ト リ が コ ピ ー さ れ る 。
要 す る に mirrordir は mirror を デ ィ レ ク ト リ ツ リ ー control の 完 全 な レ プ リ カ に し 、 ま た そ の 際 に あ ら ゆ る も の を (定 期 的 バ ッ ク ア ッ プ と い う 目 的 に 合 致 す る な ら ) 可 能 な 限 り 複 製 し よ う と す る 。 当 然 mirrordir は サ ブ デ ィ レ ク ト リ の 一 番 深 い と こ ろ ま で 降 り て い く 。 デ ィ レ ク ト リ ミ ラ ー の 際 に は 、 そ れ に 必 要 な 最 小 の 変 更 の み を 調 べ 、 可 能 な 限 り 効 率 的 に 動 作 し よ う と す る 。
ア ク セ ス 時 刻 の 複 製 は 通 常 は 必 要 な く 、 ま た 不 要 な 負 荷 を 与 え る こ と に な る 。 よ っ て こ れ は オ プ シ ョ ン に な っ て い る 。
デ ィ レ ク ト リ control に は 、 何 の 変 化 も 与 え な い 。 --restore-access が 与 え ら れ る と 、 ア ク セ ス 時 刻 は 読 み 込 み の た び に 、 元 の 時 刻 に 再 設 定 さ れ る 。
--strict-locking オ プ シ ョ ン を オ ン に す る と 、 control に あ る コ ピ ー 作 業 中 の フ ァ イ ル は 「 共 有 読 み 込 み (shared reading)」 に ロ ッ ク さ れ る 。 こ れ に よ っ て 、 他 の プ ロ セ ス が そ の フ ァ イ ル に 頻 繁 に 書 き 込 み を 行 っ て い る 場 合 で も 、 フ ァ イ ル が 不 完 全 な 状 態 や 壊 れ た 状 態 で は コ ピ ー さ れ な い こ と を 保 証 す る 。
通 常 mirrordir は 問 題 が あ っ て も 中 断 せ ず 、 問 題 の 報 告 を stderr へ の エ ラ ー メ ッ セ ー ジ と し て 行 い 、 動 作 を 継 続 す る 。
デ ィ レ ク ト リ mirror や dest は (た と え 空 で あ っ て も ) 存 在 し て い な け れ ば な ら な い 。
デ ィ レ ク ト リ の す べ て の フ ァ イ ル を 削 除 す る 前 に 、 mirrordir は *--keep-me と い う フ ァ イ ル (こ こ で * は 0 ま た は 1 つ の 文 字 ) を チ ェ ッ ク す る 。 こ の フ ァ イ ル が 存 在 す る と 、 エ ラ ー メ ッ セ ー ジ を 出 し て 中 断 す る 。 よ っ て 再 帰 的 に 削 除 さ れ て は ま ず い デ ィ レ ク ト リ が あ っ た ら 、 そ れ ぞ れ に こ の よ う な フ ァ イ ル を 作 っ て お け ば 良 い 。
copydir は mirrordir -ck --no-erase-directories ... と 等 価 で あ る (-c に は -k が 含 ま れ る が )。 よ っ て copydir は 厳 密 な 意 味 で の cp (1) と よ く 似 て い る が 、 フ ァ イ ル 名 は URL で も 良 く 、 か つ 古 い フ ァ イ ル だ け が 置 き 換 え ら れ る 。 フ ァ イ ル 転 送 に は 、 ほ と ん ど の 場 合 mirrordir で は な く copydir を 使 う ほ う が よ い 。 本 当 に 消 し て よ い 場 合 に 限 り 、 mirrordir を 使 う よ う に す る こ と 。
recursdir は ま た も う 一 つ の プ ロ グ ラ ム で 、 コ マ ン ド ラ イ ン 上 で デ ィ レ ク ト リ を 降 り て ゆ く だ け で 何 も 行 わ な い 。 こ れ は mirrordir --recures-mode ... と 等 価 で あ る 。 こ れ は -C オ プ シ ョ ン が 追 加 さ れ る 前 に で き た プ ロ グ ラ ム で 、 よ り 厳 密 な find (1) と し て 、 あ る い は 見 つ か っ た す べ て の フ ァ イ ル を tar フ ァ イ ル に パ ッ ク す る 目 的 に 、 そ れ ぞ れ 利 用 で き る 。
pslogin は さ ら に も う 一 つ の プ ロ グ ラ ム で 、 こ れ ま で に 挙 げ た 3 つ と は ほ と ん ど 関 係 が な い 。 pslogin は secure-mcserv を 用 い て 安 全 な ロ グ イ ン セ ッ シ ョ ン を 開 始 す る 。 こ れ は mirrordir --login-mode --secure ... と 等 価 で あ る 。 pslogin は logindir と 呼 ぶ べ き か も し れ な い 。 後 述 の --login-mode を 参 照 の こ と 。
forward は さ ら に も う 一 つ の プ ロ グ ラ ム で 、 最 初 の 3 つ と は ほ と ん ど 関 係 が な い 。 こ れ は 任 意 の サ ー ビ ス を 安 全 な チ ャ ネ ル に フ ォ ワ ー ド で き る 。 詳 細 は forward (1) を 参 照 の こ と 。
こ の パ ッ ケ ー ジ の 重 要 な 点 は 、 通 常 の フ ァ イ ル 名 に 替 え て URL を 使 え る 点 に あ る 。 よ っ て フ ァ イ ル を ネ ッ ト ワ ー ク 越 し に 操 作 で き る 。 現 在 サ ポ ー ト さ れ て い る URL の タ イ プ は 、 ftp:// と mc:// で あ る ( http:// は フ ァ イ ル シ ス テ ム で は な い の で 、 サ ポ ー ト さ れ て い な い )。 mc:// は Midnight Commander フ ァ イ ル シ ス テ ム で 、 secure-mcserv デ ー モ ン に よ っ て サ ー ビ ス さ れ る も の で あ る 。 こ れ に は 、 暗 号 化 さ れ た 、 強 く 安 全 な フ ァ イ ル 転 送 お よ び ロ グ イ ン を 提 供 す る と い う 長 所 が あ る 。
recursdir コ マ ン ド と copydir コ マ ン ド に は glob 表 現 も 利 用 で き る 。 こ れ ら は 再 帰 的 に 展 開 さ れ る 。
セ キ ュ リ テ ィ と 暗 号 化
mirrordir は 、 強 力 な ス ト リ ー ム cipher 暗 号 化 と 、 何 種 類 か の 鍵 サ イ ズ で の Diffie-Hellman 鍵 交 換 を サ ポ ー ト し て い る 。 安 全 な 接 続 は mc:// の 接 続 で 動 作 す る 。 オ プ シ ョ ン --secure , --key-size , --download-scripts を 参 照 の こ と 。 デ モ は 例 の 節 を 、 公 開 鍵 ・ 秘 密 鍵 の 置 場 所 に つ い て は フ ァ イ ル の 節 を 参 照 の こ と 。
オ プ シ ョ ン
|
--help |
詳 し い ヘ ル プ を 出 力 し て 終 了 す る 。 |
--verbose
mirror に 対 し て な さ れ た フ ァ イ ル 修 正 に 関 し て 、 詳 し い 出 力 を す る よ う 指 定 す る 。 こ の オ プ シ ョ ン は 複 数 個 指 定 で き 、 た く さ ん 指 定 す る ほ ど よ り 詳 し く 出 力 す る 。 出 力 は 標 準 出 力 に 書 き 出 さ れ る 。
--restore-access
読 み 込 む を 行 う ご と に 、 control の ア ク セ ス 時 間 を 元 に 戻 す 。
--access-times
control の ア ク セ ス 時 刻 も 複 製 す る 。
--always-write
同 じ に 見 え る か ど う か に 関 ら ず 、 す べ て の フ ァ イ ル を 書 き 変 え る よ う 強 制 す る 。
--recurs-mode
こ れ は recursdir で は デ フ ォ ル ト で 有 効 に な る 。 指 定 し た デ ィ レ ク ト リ を 再 帰 的 に 読 み 、 そ れ ら に 対 し て は 何 も 行 わ な い 。 こ の オ プ シ ョ ン は フ ァ イ ル を 検 索 し た り 、 -C と 共 に 指 定 し て シ ェ ル コ マ ン ド を 実 行 し た り す る の に 便 利 で あ る 。 な お C イ ン タ ー プ リ タ で は system() , exec() , popen 関 数 が 利 用 で き る 。
--login-mode
こ の オ プ シ ョ ン は pslogin で は デ フ ォ ル ト で セ ッ ト さ れ る 。 こ れ は secure-mcserv を サ ー バ に 使 う rlogin と だ い た い 同 じ に な る 。 ssh (1) の 代 わ り に 使 え る よ う な 、 安 全 な 暗 号 化 さ れ た 接 続 を 提 供 す る 。 pslogin は 暗 黙 の う ち に --secure も 指 定 す る 。 こ の オ プ シ ョ ン を 指 定 し た り 、 pslogin を 用 い た 場 合 は 、 コ マ ン ド ラ イ ン に は パ ス を 1 つ だ け 指 定 し な け れ ば な ら な い 。 指 定 の 形 式 は [ mc:// ][ username @ ] hostname [ : portnumber ][ / path ] で あ る 。
ロ グ イ ン 後 直 ち に 、 シ ェ ル プ ロ ン プ ト か ら cd /path が 実 行 さ れ る 。 pslogin は 文 字 # , $ , > を 調 べ 、 プ ロ ン プ ト が 出 た か ど う か 判 断 す る 。 こ れ ら が 見 つ か ら な い と 、 pslogin は ず っ と 止 ま っ た ま ま に な る 。 こ の 動 作 を 避 け る に は 、 / path を / と す れ ば 良 い 。 す る と ロ グ イ ン デ ィ レ ク ト リ に 留 ま っ た ま ま に な る 。 あ る い は シ ェ ル プ ロ ン プ ト を 変 更 し て 、 こ れ ら の 文 字 を 含 め る よ う に し て も よ い 。
--copy-mode
こ れ は copydir で は デ フ ォ ル ト で セ ッ ト さ れ る 。 コ ピ ー 元 ・ コ ピ ー 先 の 各 フ ァ イ ル に 対 し て cp (1) と 同 じ よ う に 振 る 舞 う 。 こ の オ プ シ ョ ン を 用 い る と 、 暗 黙 の う ち に --keep-files を 指 定 し た こ と に な る 。 コ ピ ー 先 の 既 存 の フ ァ イ ル ・ デ ィ レ ク ト リ の う ち 、 コ ピ ー 元 と 同 じ 名 前 を 持 つ も の は す べ て 上 書 き さ れ る が 、 こ れ 以 外 の 理 由 で フ ァ イ ル や デ ィ レ ク ト リ が 削 除 さ れ る こ と は な い 。 コ ピ ー 元 に は 複 数 の フ ァ イ ル や デ ィ レ ク ト リ を 指 定 で き る 。 コ ピ ー 先 の パ ス は デ ィ レ ク ト リ で な け れ ば な ら な い 。
--no-erase-directories
こ の オ プ シ ョ ン を 指 定 す る と 、 コ ピ ー 先 の デ ィ レ ク ト リ と コ ピ ー 元 の フ ァ イ ル が お な じ 名 前 で 、 か つ そ の デ ィ レ ク ト リ が 空 で な い 場 合 、 エ ラ ー メ ッ セ ー ジ を 表 示 し て 終 了 す る 。 こ れ は copydir の デ フ ォ ル ト の 動 作 で あ る 。
--erase-directories
こ の オ プ シ ョ ン を 指 定 す る と 、 コ ピ ー 先 の デ ィ レ ク ト リ と コ ピ ー 元 の フ ァ イ ル が お な じ 名 前 の 場 合 、 コ ピ ー 先 の デ ィ レ ク ト リ は 再 帰 的 に 削 除 さ れ る 。 こ れ は mirrordir の デ フ ォ ル ト の 動 作 で あ る 。
--allow-empty-ftp-dirs
ftp サ ー バ に は 、 . と か .. と い っ た デ ィ レ ク ト リ を 生 成 し な い も の が あ る 。 そ の よ う な 場 合 、 デ ィ レ ク ト リ へ の 読 み 取 り 許 可 が な い よ う に 見 え て し ま う 。 こ の オ プ シ ョ ン を 用 い る と 、 こ の 動 作 を 変 更 し 、 こ の よ う な 完 全 に 空 の デ ィ レ ク ト リ を 単 に 空 で あ る と み な し て エ ラ ー に し な い 。 unable to open directory: *: Permission denied と い う エ ラ ー に な っ た 場 合 は 、 こ の オ プ シ ョ ン を 試 し て み る と よ い 。 こ の オ プ シ ョ ン は デ フ ォ ル ト で は 有 効 に な っ て い る (次 項 を 参 照 の こ と )。
--no-allow-empty-ftp-dirs
現 在 は デ ィ レ ク ト リ に cd し て ア ク セ ス 許 可 を 調 べ る た め に よ う に な っ た の で 、 デ フ ォ ル ト の 動 作 は 空 の デ ィ レ ク ト リ を 許 可 す る よ う に し た 。
--only-delete
mirror に 対 し て 、 利 用 し て い る デ ィ ス ク ス ペ ー ス を 増 加 さ せ る よ う な 変 更 は 一 切 行 な わ な い 。 こ れ は 容 量 の 限 ら れ て い る ド ラ イ ブ に 対 し て バ ッ ク ア ッ プ を 取 る 場 合 、 転 送 の 最 中 に control に mirror を 増 加 さ せ て し ま う よ う な 変 更 が な さ れ る と き に 便 利 で あ る 。 一 度 こ の オ プ シ ョ ン を つ け て mirrordir を 実 行 す れ ば 、 次 に こ の オ プ シ ョ ン を つ け て 実 行 し た と き に は 、 利 用 で き る 領 域 を 越 え な い こ と が 通 常 は 保 証 さ れ る 。
-i , --ignore-next-exclude
こ の オ プ シ ョ ン を 指 定 す る と 、 次 の --exclude- タ イ プ の オ プ シ ョ ン は 、 対 象 フ ァ イ ル が mirror デ ィ レ ク ト リ に あ ろ う と 無 か ろ う と 、 そ れ ら を 完 全 に 無 視 す る こ と に な る 。 こ れ は 後 述 す る --exclude-script オ プ シ ョ ン で IGNORE が 返 っ た 場 合 と 同 じ 効 果 を 持 つ 。 こ れ は 特 定 の フ ァ イ ル を 決 し て 変 更 し な い よ う に す る の に 利 用 で き る 。 例 え ば /etc/named.boot を 決 し て 変 更 し た く な い 場 合 に は 、 mirrordir /mnt/1 /mnt/2 -i --exclude /mnt/1/etc/named.boot と す れ ば よ い 。 mirror デ ィ レ ク ト リ で は な く 、 control デ ィ レ ク ト リ の フ ル パ ス で 指 定 す る こ と に 注 意 。 --exclude /mnt/2/etc/named.boot で は 動 作 し な い 。 後 者 で は 、 フ ァ イ ル を 削 除 し た く な い 場 合 に は そ の フ ァ イ ル が control デ ィ レ ク ト リ に 存 在 し な け れ ば な ら な い (た と え サ イ ズ 0 で あ っ て も ) と い う 馬 鹿 げ た 動 作 と な る 。
--exclude path
フ ァ イ ル ま た は デ ィ レ ク ト リ path を 除 外 す る 。 コ マ ン ド ラ イ ン に た く さ ん の exclude パ ス を 指 定 す る と 、 動 作 が 遅 く な っ て し ま う 。 除 外 さ れ た パ ス は 、 mirror ツ リ ー に 存 在 す る 場 合 は 削 除 さ れ る (そ の デ ィ レ ク ト リ ま た は フ ァ イ ル が 存 在 し て い な い 場 合 と 同 様 で あ る )。 こ れ ら の フ ァ イ ル を 削 除 せ ず に 無 視 し て 保 持 し て お き た い 場 合 は 、 --ignore オ プ シ ョ ン を 用 い る こ と 。
除 外 す る フ ァ イ ル が 長 い リ ス ト に な る 場 合 は 、 --exclude-from オ プ シ ョ ン を 利 用 す る こ と 。
--exclude-glob glob
glob 形 式 の 表 現 glob に マ ッ チ す る フ ァ イ ル す る デ ィ レ ク ト リ を 除 外 す る 。 フ ァ イ ル へ の マ ッ チ で は フ ル パ ス を 用 い な い 。 シ ェ ル に お い て は 、 glob 表 現 を 適 切 な 引 用 符 で 括 り 、 解 釈 さ れ な い よ う に す る 必 要 が あ る 。
--exclude-regexp regex
フ ル パ ス 名 が regex に マ ッ チ す る フ ァ イ ル や デ ィ レ ク ト リ を 除 外 す る 。 シ ェ ル に お い て は 、 正 規 表 現 を 適 切 な 引 用 符 で 括 り 、 解 釈 さ れ な い よ う に す る 必 要 が あ る 。
--exclude-script [ expr | file ]
各 フ ァ イ ル に 対 す る 処 理 を 行 な う 前 に 、 ス ク リ プ ト expr を 実 行 す る 。 こ の ス ク リ プ ト は C 言 語 ス タ イ ル の 文 ブ ロ ッ ク か ら な り 、 ` return expression ;´ で 終 了 す る 。 expression の 値 は INCLUDE , EXCLUDE , UNKNOWN IGNORE (上 述 の -ifP を 見 よ ) の い ず れ か で あ り 、 そ の フ ァ イ ル に 対 し て 成 す べ き 動 作 を 示 す 。 expr に セ ミ コ ロ ン (;) が 含 ま れ て い な い 場 合 は 、 こ れ は フ ァ イ ル 名 と み な さ れ 、 そ の フ ァ イ ル が ロ ー ド さ れ る 。 そ れ 以 外 の 場 合 は 、 テ キ ス ト は 高 速 化 の た め に 逆 ポ ー ラ ン ド 形 式 に コ ン パ イ ル さ れ る 。 こ の オ プ シ ョ ン は 複 数 指 定 で き 、 そ の 場 合 ス ク リ プ ト は UNKNOWN 以 外 の 値 が 返 る ま で 、 順 に 実 行 さ れ る 。 UNKNOWN が 返 っ た 場 合 は 、 コ マ ン ド ラ イ ン に あ る そ の 他 の --exclude- 形 式 の オ プ シ ョ ン が 効 力 を 持 つ 。
イ ン タ ー プ リ タ が お か し な エ ラ ー を 報 告 し た り 、 セ グ メ ン テ ー シ ョ ン フ ォ ー ル ト を 起 こ し た 場 合 は 、 そ の 原 因 と な っ た ス ク リ プ ト を 私 に 送 っ て ほ し い 。
こ の ス ク リ プ ト 言 語 自 体 は 、 C プ ロ グ ラ ミ ン グ 言 語 の サ ブ セ ッ ト で あ る 。 例 え ば 以 下 の よ う な も の は 正 し い ス ク リ プ ト で あ る 。
/* PATH
は フ ァ イ ル の
フ ル パ ス 名 で
、 DIR は 末 尾 に
ス ラ ッ シ ュ (/) の
無 い デ ィ レ ク
ト リ 、 CWD は
カ レ ン ト ワ ー
キ ン グ デ ィ レ
ク ト リ 、 dpath() は
フ ォ ワ ー ド ス
ラ ッ シ ュ (/) の 個
数 -1 を 返 す 。 */
if (depth (DIR) - depth (CWD) > 3) {
printf ("%s: excluded\n", PATH);
return EXCLUDE;
} else
return INCLUDE;
こ の ス ク リ プ ト 言 語 は 代 入 演 算 子 を サ ポ ー ト し な い 。 し た が っ て ユ ー ザ 定 義 変 数 を サ ポ ー ト し な い 。
以 下 の 定 義 済 み マ ク ロ を 利 用 で き る 。 マ ク ロ の 展 開 は 、 デ ィ レ ク ト リ に も フ ァ イ ル と 等 し く 同 じ よ う に 適 用 さ れ る 。
|
FILE |
現 在 の フ ァ イ ル (パ ス 無 し ) |
||
|
NAME |
パ ス ・ 拡 張 子 の 無 い フ ァ イ ル 名 。 末 尾 に ド ッ ト (.) は 付 か な い 。 |
EXTENSION
フ ァ イ ル の 拡 張 子 。 先 頭 に ド ッ ト (.) は 付 か な い 。
|
DIR |
フ ァ イ ル 名 の 無 い デ ィ レ ク ト リ 。 末 尾 に ス ラ ッ シ ュ (/) は 付 か な い 。 |
||
|
PATH |
フ ル パ ス の フ ァ イ ル 名 |
||
|
CWD |
カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ |
||
|
TIME |
現 在 時 刻 (秒 単 位 ) |
C の す べ て の 論 理 演 算 子 ・ 算 術 演 算 子 ・ ビ ッ ト 演 算 子 が サ ポ ー ト さ れ て い る 。 す な わ ち ( ) >= <= > < != == && || ! - + * / % & ˆ で 、 こ れ ら は 全 て C の も の と 同 じ 意 味 を 持 つ 。
さ ら に 以 下 に 示 す マ ク ロ も 利 用 で き る 。 各 々 は 整 数 (C で の long int 型 ) を 返 す 。 こ れ ら は そ の フ ァ イ ル に 対 す る lstat (ま た は --follow-symlinks が 用 い ら れ て い る 場 合 は stat ) を 基 に し て い る 。 詳 し い 説 明 は stat (2) を 参 照 の こ と 。
stat.st_dev
- デ バ イ ス
stat.st_ino
- i-ノ ー ド
stat.st_mode
- 許 可 属 性
(permission)
stat.st_nlink
- ハ ー ド リ
ン ク の 数
stat.st_uid
- 所 有 者 の
ユ ー ザ id
stat.st_gid
- 所 有 者 の
グ ル ー プ id
stat.st_rdev
- デ バ イ ス
タ イ プ
stat.st_size
- フ ァ イ ル
サ イ ズ (バ イ ト
単 位 )
stat.st_blksize
- フ ァ イ ル
シ ス テ ム I/O の ブ
ロ ッ ク サ イ ズ
stat.st_blocks
- ア ロ ケ ー
ト 済 み の ブ ロ
ッ ク 数
stat.st_atime
- 最 後 に ア
ク セ ス さ れ た
時 刻 (秒 単 位 )
stat.st_mtime
- 最 後 に 変
更 さ れ た 時 刻
(行 単 位 )
stat.st_ctime
- 作 成 さ れ
た 時 刻
以
下 の 関 数 は ブ
ー ル 値 を 返 す
。
strncmp
(
string1
,
string2
,
integer
);
string1 が string2 よ り 小 さ い 場 合 は 0 以 下 の 整 数 を 、 マ ッ チ す る 場 合 は 0 を 、 大 き い 場 合 は 0 以 上 の 整 数 を 返 す 。
glob ( glob , string );
string が glob 表 現 glob に マ ッ チ す る 場 合 は 0 を 返 す 。 下 層 の 実 装 に お け る 効 率 を 良 く し た い 場 合 は 、 あ な た が 書 く コ ー ド で の glob 表 現 を ひ と つ に 限 っ て み る こ と 。
regexp ( regexp , string );
string が 正 規 表 現 regexp に マ ッ チ す る 場 合 は 0 を 返 す 。 下 層 の 実 装 に お け る 効 率 を 良 く し た い 場 合 は 、 あ な た が 書 く コ ー ド で の 正 規 表 現 を ひ と つ に 限 っ て み る こ と 。
strstr ( string1 , string2 );
string1 の 長 さ の 範 囲 に 最 初 に 現 れ る string2 の 位 置 を 返 す 。 現 れ な い 場 合 は 0 を 返 す 。
以 下 の 関 数 も ブ ー ル 値 を 返 す 。 こ れ ら は stat (2) で 説 明 さ れ て い る マ ク ロ に 対 応 し て い る 。 こ れ ら は 、 指 定 さ れ た 条 件 が 真 の 場 合 に 非 ゼ ロ の 値 を 返 す 。
S_ISLNK
(
integer
);
- フ ァ イ ル は シ
ン ボ リ ッ ク リ
ン ク
S_ISREG
(
integer
); - フ ァ イ
ル は 通 常 の フ
ァ イ ル
S_ISDIR
(
integer
); - フ ァ イ
ル は デ ィ レ ク
ト リ
S_ISCHR
(
integer
); - フ ァ イ
ル は キ ャ ラ ク
タ デ バ イ ス
S_ISBLK
(
integer
); - フ ァ イ
ル は ブ ロ ッ ク
デ バ イ ス
S_ISFIFO
(
integer
); - フ ァ イ
ル は fifo
S_ISSOCK
(
integer
); - フ ァ イ
ル は ソ ケ ッ ト
以
下 の 関 数 は 文
字 列 を 操 作 す
る 。
strcat
(
string1
,
string2
);
string1 に string2 を 連 結 し て 返 す 。 + 演 算 子 も 文 字 列 を 連 結 す る こ と に 注 意 。
depth ( string );
string に 現 れ る フ ォ ワ ー ド ス ラ ッ シ ュ (/) の 個 数 か ら 1 を 引 い た も の を 返 す 。
printf ( format , ...);
printf (3) の よ う に 動 作 す る 。 た だ し 重 要 な 例 外 が あ る : long int の フ ォ ー マ ッ ト 指 定 以 外 は 使 っ て は な ら な い 。 こ れ 以 外 の 指 定 を 行 な っ た と き の 変 換 結 果 は 未 定 義 で あ る 。 例 え ば 、 "%d" で は な く "%ld" を 用 い る こ と 。 結 果 は 標 準 出 力 に 表 示 さ れ る 。
以
下 の 関 数 は シ
ス テ ム コ ー ル
を 実 行 す る 。
system
(
command
);
/bin/sh -c command を 実 行 す る 。 し か し C 言 語 の も の と は 異 な り 、 コ マ ン ド の 終 了 コ ー ド を 返 す 。 つ ま り 、 一 行 だ け の シ ェ ル ス ク リ プ ト command を 実 行 す る 。
exec ( argv0 , argv1 , ...);
プ ロ セ ス argv0 を 引 数 argv1... で 実 行 す る 。 argv0 フ ル パ ス で 指 定 し な け れ ば な ら な い 。 こ れ は sh を 経 由 し な い の で system よ り 速 い 。
popen ([ string , ] shell_command );
system と 似 て い る が 、 shell_command の 出 力 を 文 字 列 と し て 返 す 。 string が 与 え ら れ て い る 場 合 に は 、 そ の 文 字 列 を shell_command の 標 準 入 力 に 与 え 、 成 功 し た ら 0 を 返 す 。
以 下 の 整 数 定 数 も 利 用 可 能 で 、 stat.h で 定 義 さ れ て い る マ ク ロ (説 明 は stat (2) に あ る ) に 対 応 す る 。
S_IFMT S_IFSOCK S_IFLNK S_IFREG S_IFBLK S_IFDIR S_IFCHR S_IFIFO S_ISUID S_ISGID S_ISVTX S_IRWXU S_IRUSR S_IWUSR S_IXUSR S_IRWXG S_IRGRP S_IWGRP S_IXGRP S_IRWXO S_IROTH S_IWOTH S_IXOTH
以
下 の 定 数 の ひ
と つ を
return
文 を
用 い て 返 し 、
呼 出 し 元 に 意
図 を 伝 え る 必
要 が あ る 。 何
も 返 さ な い 場
合 は 、 返 り 値
は
UNKNOWN
で あ る と
み な さ れ る 。
UNKNOWN
ど う す べ き か 分 か ら な い 。 引 き 続 き 他 の --exclude- タ イ プ の オ プ シ ョ ン を 実 行 す る 。
INCLUDE
そ の フ ァ イ ル を 処 理 に 含 め る 。
|
IGNORE |
そ の フ ァ イ ル が mirror デ ィ レ ク ト リ に あ ろ う と 無 か ろ う と 、 何 も 行 な わ な い 。 |
EXCLUDE
そ の フ ァ イ ル が control デ ィ レ ク ト リ に 存 在 し な い も の と み な す 。 よ っ て mirror デ ィ レ ク ト リ か ら は 削 除 さ れ る (こ れ は --keep-files オ プ シ ョ ン よ り も 優 先 さ れ る )。
以 下 は C の よ う な フ ロ ー 制 御 を 行 な う 。
以 下 の if 文 は integer が 真 (つ ま り 非 ゼ ロ ) な ら ば statement1 , statement2 な ど を 実 行 し 、 そ れ 以 外 の 場 合 は statementA , statementB な ど を 実 行 す る 。 else {...} の 部 分 は 省 略 可 能 で あ る 。
if
(
integer
) {
statement1
;
statement2
;
.
.
.
}
else
{
statementA
;
statementB
;
.
.
.
}
return 文 は mirrordir に 値 を 返 し 、 ス ク リ プ ト を 終 了 さ せ る 。
return expression ;
exit 関 数 は 、 mirrordir を 指 定 し た 終 了 コ ー ド で 終 了 さ せ る 。
exit ( integer );
通 常 C ス ク リ プ ト は 、 特 定 の フ ァ イ ル を 除 外 す る た め に 用 い る 。 こ れ は ス ク リ プ ト 言 語 の 実 装 と し て は や り す ぎ で 、 機 能 の す べ て を 一 般 用 途 向 け に 書 い た わ け で は な い 。 典 型 的 な ス ク リ プ ト は 、 例 え ば デ バ イ ス フ ァ イ ル を 除 外 す る 、 と い う 程 度 の こ と に 留 ま る だ ろ う 。
if
(S_ISSOCK(stat.st_mode) || S_ISFIFO(stat.st_mode)
|| S_ISBLK(stat.st_mode) || S_ISCHR(stat.st_mode)) {
return EXCLUDE;
} else
return INCLUDE;
--recurs-mode オ プ シ ョ ン と と も に 用 い れ ば 、 C ス ク リ プ ト は フ ァ イ ル を 検 索 す る た め に も 利 用 で き る ( recursdir コ マ ン ド と 同 じ ):
/* core
フ ァ イ ル を 全
て 削 除 す る */
/* こ の 例 は
例
セ ク シ ョ ン に
移 動 し た 。 */
--exclude-from file
フ ァ イ ル file に 書 か れ て い る リ ス ト に 含 ま れ る パ ス を 除 外 す る 。 空 行 と コ メ ン ト 行 (行 頭 の 文 字 が # の 行 ) は 無 視 さ れ る 。 こ の フ ァ イ ル の リ ス ト は ソ ー ト さ れ 二 分 木 探 索 さ れ る の で 、 た く さ ん の フ ァ イ ル 名 を 除 外 し た い 場 合 に は 、 こ こ に そ れ ら の フ ァ イ ル を 書 く 方 が 性 能 は 良 く な る 。 こ の オ プ シ ョ ン は 複 数 指 定 で き 、 複 数 個 の フ ァ イ ル を 指 定 で き る 。 バ グ : file の 最 後 に 与 え た パ ス は 、 改 行 で 終 ら な け れ ば な ら な い 。
--backup-extension level
フ ァ イ ル を 削 除 し た り 置 き 換 え た り す る 前 に 、 そ れ ら の フ ァ イ ル の バ ッ ク ア ッ プ を 作 る 。 extension は C 形 式 の フ ォ ー マ ッ ト 文 字 列 で 、 例 え ば .ORIG.%d (% へ の シ ェ ル 代 入 に 注 意 ) の よ う に す る 。 level は 保 存 し て お く リ ビ ジ ョ ン の 最 大 数 。 extension が フ ァ イ ル 名 に 追 加 さ れ 、 古 い フ ァ イ ル ほ ど 大 き な 番 号 を 持 つ 。
--backup-outdate sec
sec 秒 よ り も 古 い バ ッ ク ア ッ プ フ ァ イ ル を 削 除 す る 。
--nice num
時 々 ス リ ー プ し て 、 他 の プ ロ セ ス に 対 し て 行 儀 良 く 振 る 舞 う 。 --nice を 指 定 す る と 、 プ ロ セ ス は ア ク テ ィ ブ で あ っ た 時 間 の num 倍 の 時 間 ス リ ー プ す る 。 し た が っ て 1 を 指 定 す る と (非 常 に お お ざ っ ぱ に 言 え ば ) コ ピ ー に 要 す る 時 間 は 2 倍 に な り 、 3 を 指 定 す れ ば 4 倍 に な る 。 こ れ は 定 期 的 な バ ッ ク ア ッ プ を 、 CPU 負 荷 を 小 さ く し て 行 な い た い 場 合 に 利 用 す る と よ い 。 シ ス テ ム に よ っ て は --nice は 利 用 で き な い か も し れ な い 。
--no-chmod
通 常 は フ ァ イ ル の 許 可 属 性 設 定 が 行 な わ れ る 。 ア ク セ ス 権 限 が 制 限 さ れ て い て 、 許 可 属 性 を 変 更 で き な い 場 合 は 、 こ の オ プ シ ョ ン を 指 定 す れ ば 許 可 属 性 設 定 を 無 効 に で き る 。
--no-chown
通 常 は フ ァ イ ル の 所 有 権 設 定 が 行 な わ れ る 。 ア ク セ ス 権 限 が 制 限 さ れ て い て 、 所 有 者 を 変 更 で き な い 場 合 は 、 こ の オ プ シ ョ ン を 指 定 す れ ば 所 有 権 設 定 を 無 効 に で き る 。
--mtime-threshold sec
mtime の 違 い が こ の 値 よ り も 小 さ い 場 合 に は 、 フ ァ イ ル は 上 書 き さ れ な い 。 ftp サ イ ト を ミ ラ ー し た 場 合 、 そ の ミ ラ ー 中 の mtime は 分 の 単 位 の 精 度 し か 持 た な い の で 、 こ れ を nfs ミ ラ ー し よ う と す る と す べ て の フ ァ イ ル が コ ピ ー さ れ る 。 こ れ を 直 す に は --mtime-threshold 60 を 用 い れ ば よ い 。
--time-offset [[ + ]| - ][ H ] H [ :MM ]
vfs な (つ ま り ロ ー カ ル で な い ) デ ィ レ ク ト リ の 時 刻 オ フ セ ッ ト を 設 定 す る 。 例 え ば 私 は New York よ り 8 時 間 東 に い る の で 、 New York か ら ミ ラ ー す る 場 合 に は --time-offset -8:00 を 使 っ て い る 。
--test-only, --dry-run
実 際 に は 変 更 を 行 な わ な い 。 --verbose と 共 に 用 い る と 、 ど の よ う な 変 更 が な さ れ る か を 表 示 で き る 。 こ れ は デ ィ レ ク ト リ 間 の 比 較 を す る の に も 効 果 的 な 方 法 で あ る 。 こ れ は テ ス ト さ れ て い な い 。 す な わ ち 、 こ の オ プ シ ョ ン が 本 当 に 変 更 を し な い か ど う か は 、 私 は 保 証 で き な い 。
--skip-symlinks
シ ン ボ リ ッ ク リ ン ク は 、 読 み 込 ま れ な か っ た か の よ う に 扱 わ れ る 。 よ っ て そ れ ら が mirror デ ィ レ ク ト リ に あ る と 、 削 除 さ れ る 。
--keep-files
フ ァ イ ル が control に 無 い 場 合 で も 、 そ の フ ァ イ ル を mirror か ら 削 除 し な い 。 こ う す る と mirrordir は あ る 意 味 cp (1) の よ う に な る 。
--no-hard-links
こ の オ プ シ ョ ン が 指 定 さ れ な い 限 り 、 mirrordir は ハ ー ド リ ン ク 属 性 を 正 し く ミ ラ ー す る 。 指 定 さ れ る と 、 ハ ー ド リ ン ク は 通 常 フ ァ イ ル の よ う に コ ピ ー さ れ る 。
--follow-symlinks
こ の オ プ シ ョ ン が 指 定 さ れ な け れ ば 、 mirrordir は シ ン ボ リ ッ ク リ ン ク を 適 切 に ミ ラ ー す る 。 指 定 さ れ る と 、 シ ン ボ リ ッ ク リ ン ク は 通 常 フ ァ イ ル と し て コ ピ ー さ れ る 。 Debian ツ リ ー を ミ ラ ー す る と き に 便 利 で あ る 。 注 意 し て ほ し い の は 、 シ ン ボ リ ッ ク リ ン ク は control と mirror の 両 方 で 解 決 さ れ る 、 と い う 点 で あ る 。 依 っ て シ ン ボ リ ッ ク リ ン ク が mirror デ ィ レ ク ト リ に 存 在 し て い る と 、 そ れ ら は そ の ま ま シ ン ボ リ ッ ク リ ン ク の ま ま 残 る 。 --follow-symlinks を 指 定 す る と 、 暗 黙 の う ち に --no-hard-links も 指 定 し た こ と に な る 。
--strict-locking
フ ァ イ ル を 読 み 込 む と き 、 共 有 読 み 込 み の ロ ッ ク を 作 成 す る 。 こ れ は フ ァ イ ル コ ピ ー の 事 故 を 予 防 す る 。 特 に メ ー ル デ ィ レ ク ト リ に 対 し て 有 効 で あ る (メ ー ル プ ロ グ ラ ム は mirrordir が フ ァ イ ル を 読 み 込 も う と し て い る と き に 、 同 時 に そ れ ら に 書 き 込 み を 行 な お う と す る か も し れ な い )。 こ の オ プ シ ョ ン は 仮 想 フ ァ イ ル シ ス テ ム に 対 し て は 効 力 を 持 た な い 。
--max-bytes [[ num [ k | M | G ]]| num ]
こ の バ イ ト 数 を 越 え る と ‘filled up all blocks - first file/dir not mirrored: path ’ と い う メ ッ セ ー ジ が 標 準 出 力 に 表 示 さ れ る 。 残 り の フ ァ イ ル は mirror か ら 削 除 さ れ る が 、 こ れ は リ ス ト さ れ た 順 序 で 行 な わ れ る 。 よ っ て mirrordir が 走 り 続 け て い る と 、 ア ー カ イ ブ の 大 き さ が num を 越 え る こ と が あ る 。 こ の 偶 発 分 の ゆ と り を と っ て 、 num は 利 用 で き る ス ペ ー ス よ り 小 さ く し て お く こ と 。 ま た フ ァ イ ル シ ス テ ム に よ っ て は 、 完 全 に い っ ぱ い に な る 前 に ‘No space left on device’ と い う メ ッ セ ー ジ を 出 す こ と が あ る 。 mirrordir に は --starting-file path オ プ シ ョ ン が あ り 、 こ れ を 用 い る と 別 の デ バ イ ス で 作 業 を 継 続 で き る 。 こ う す れ ば 、 複 数 の デ バ イ ス に 対 し て mirrordir を 用 い た バ ッ ク ア ッ プ が で き る 。 num に は k , M , G (大 文 字 小 文 字 を 区 別 す る ) の い ず れ か を 後 置 で き 、 そ れ ぞ れ キ ロ バ イ ト 、 メ ガ バ イ ト 、 ギ ガ バ イ ト を 指 定 す る 。 ど れ か ひ と つ の フ ァ イ ル が こ の 数 値 よ り も 大 き い と 、 エ ラ ー メ ッ セ ー ジ が 表 示 さ れ る 。 --block-size も 参 照 の こ と 。
--password password
FTP 接 続 ・ mc:// 接 続 に 対 す る パ ス ワ ー ド を 設 定 す る 。 匿 名 接 続 の 場 合 の パ ス ワ ー ド は 、 デ フ ォ ル ト で 「 ロ グ イ ン 名 @ロ ー カ ル マ シ ン 名 」 に な っ て い る 。 そ れ 以 外 の ロ グ イ ン パ ス ワ ー ド は 、 プ ロ ン プ ト が 出 て 尋 ね ら れ る 。 い つ も の 警 告 だ が 、 パ ス ワ ー ド を ス ク リ プ ト に 含 め る の は セ キ ュ リ テ ィ 上 の リ ス ク が あ る 。 パ ス ワ ー ド は ˜/.netrc フ ァ イ ル に 入 れ 、 --no-netrc オ プ シ ョ ン を 指 定 し な い か た ち の 方 が ず っ と 良 い 。 詳 細 は man ftp を 見 よ 。
--password-exact password ]
匿 名 パ ス ワ ー ド の 前 に - を 前 置 し な い 。 ftp の 匿 名 パ ス ワ ー ド で は 、 通 常 パ ス ワ ー ド 文 字 列 の 前 に - が 置 か れ る 。 私 は Midnight Commander vfs が な ぜ こ の よ う に し て い た の か 知 ら な い が 、 あ る ユ ー ザ が こ の 問 題 に 突 き 当 た っ た の で 、 こ の オ プ シ ョ ン を 設 け 、 パ ス ワ ー ド を password に 指 定 し た 通 り に 送 れ る よ う に し て い る 。
--test-login
--login-mode や pslogin を 用 い る と き 、 非 対 話 的 な ア ク セ ス を テ ス ト し て み た い こ と が あ る だ ろ う (例 え ば シ ェ ル ス ク リ プ ト で 用 い た い と き な ど )。 こ れ を 行 な う に は 、 pslogin を こ の オ プ シ ョ ン と と も に 実 行 し 、 終 了 ス テ ー タ ス を 見 れ ば よ い 。 secure-mcserv は 、 ユ ー ザ が パ ス ワ ー ド サ ー バ に ロ グ イ ン で き る か ど う か を 調 べ る た め に 、 こ れ を 用 い て い る 。
--no-warn-first-login
あ る マ シ ン に 対 し て 最 初 に 安 全 な 接 続 を 試 み た 時 は 、 公 開 鍵 が ロ ー カ ル マ シ ン に 存 在 し な い 。 よ っ て 「 間 に 人 」 攻 撃 に 対 し て 無 防 備 で あ る 。 こ の 内 容 に 関 す る 警 告 が 表 示 さ れ 、 ユ ー ザ に プ ロ ン プ ト が 出 さ れ 、 継 続 し た い か ど う か 尋 ね ら れ る 。 こ の オ プ シ ョ ン は こ の 警 告 を 出 さ な い よ う に し 、 一 切 を 無 視 し て 先 に 進 む 。
--read-password-from-stdin
パ ス ワ ー ド を コ マ ン ド ラ イ ン か ら 指 定 す る の で は な く 、 標 準 入 力 か ら 与 え る 。 こ れ は 見 え な い パ ス ワ ー ド を タ イ プ 入 力 す る の と 同 じ で は な い 。 こ ち ら は 端 末 が 無 い 場 合 に で も 使 え る 。 こ れ は 他 の プ ロ グ ラ ム か ら 、 例 え ば popen (3) な ど を 用 い て 利 用 す る 場 合 に 都 合 が 良 い 。 secure-mcserv は 、 ユ ー ザ が パ ス ワ ー ド サ ー バ に ロ グ イ ン で き る か ど う か を 調 べ る た め に 、 こ れ を 用 い て い る 。
--netrc
˜/.netrc を ス キ ャ ン す る 。 デ フ ォ ル ト で こ の オ プ シ ョ ン は on に な っ て い る 。
--no-netrc
˜/.netrc フ ァ イ ル の 読 み 込 み を 行 な わ な い 。
--proxy-host host
ftp ダ ウ ン ロ ー ド の プ ロ キ シ を 設 定 す る 。 こ れ が ど の よ う に 動 作 す る の か 、 あ る い は 実 際 に 動 作 す る か ど う か は 私 に は わ か ら な い 。 プ ロ キ シ の サ ポ ー ト に つ い て は mc (1) に あ た っ て ほ し い 。
--secure
( こ の 機 能 は β段 階 で あ る ) 私 は mirrordir 用 に 安 全 な ソ ケ ッ ト 層 を 実 装 し た 。 こ れ は こ の オ プ シ ョ ン で 有 効 と な り 、 secure-mcserv の 接 続 (す な わ ち mc:// 形 式 の URL) に 適 用 さ れ る 。 安 全 な ソ ケ ッ ト の ラ イ ブ ラ リ は libdiffie.a と ヘ ッ ダ フ ァ イ ル diffie-socket.h か ら な る 。 sys/socket.h の 後 に diffie-socket.h を イ ン ク ル ー ド し 、 そ の プ ロ グ ラ ム を 際 コ ン パ イ ル す れ ば 、 通 常 の ソ ケ ッ ト が 全 て 安 全 な ソ ケ ッ ト に な る (こ れ は Unix の ソ ケ ッ ト コ ー ル を 用 い る 、 あ ら ゆ る プ ロ グ ラ ム に 当 て は ま る が 、 し か し テ ス ト は さ れ て い な い )。 こ れ を サ ポ ー ト す る 最 初 の サ ー ビ ス は secure-mcserv で 、 デ フ ォ ル ト で コ ン パ イ ル さ れ 、 イ ン ス ト ー ル さ れ る 。 よ っ て 、 リ モ ー ト の ホ ス ト も secure-mcserv を 走 ら せ て い れ ば 、 mc:// フ ァ イ ル シ ス テ ム は --secure オ プ シ ョ ン で 利 用 で き る ( secure-mcserv -h と す れ ば ヘ ル プ が 表 示 さ れ る )。 --secure は 、 DES な ど の ブ ロ ッ ク cipher よ り ず っ と 安 全 で 高 速 な ス ト リ ー ム cipher を 、 公 開 鍵 サ ー バ 認 証 (Diffie-Hellman 及 び p-NEW ス キ ー ム ) の 離 散 対 数 鍵 交 換 で 用 い て い る 。 詳 細 は ソ ー ス 配 布 の diffie-socket.h を 見 て ほ し い 。 デ フ ォ ル ト の 鍵 の サ イ ズ は 512 ビ ッ ト で あ る 。 gcc を 用 い て い る 場 合 は 、 mirrordir の コ ン パ イ ル 時 に -O3 -fomit-frame-pointer -s -Wall オ プ シ ョ ン を つ け る と 、 鍵 生 成 が 高 速 化 さ れ る 。
--key-size bits
デ フ ォ ル ト の 鍵 サ イ ズ は 512 ビ ッ ト で あ る 。 サ イ ズ を 変 更 す る に は 素 数 を 生 成 し て fileld.c に 書 き 込 ま な け れ ば な ら な い の で 、 field.c に リ ス ト さ れ て い る サ イ ズ だ け が サ ポ ー ト さ れ て お り 、 現 時 点 で は こ れ は 512, 768, 1024, 1536 で あ る 。 遅 い 計 算 機 を 用 い て い る 場 合 に は 、 中 程 度 の セ キ ュ リ テ ィ と な る 768 を 奨 め る 。 そ れ 以 外 な ら 、 長 い 目 で 見 れ ば 1536 も 非 合 理 で 偏 執 的 な 値 、 と い う わ け で も な い 。 巨 大 企 業 ・ 良 く つ な い で く る ハ ッ カ ー ・ 政 府 な ど が あ な た の 接 続 を 盗 聴 し て い る 心 配 が な け れ ば 、 512 で も 構 わ な い だ ろ う 。 ス ト リ ー ム cipher は bits /2 の 長 さ を 持 つ の で 、 ク ラ ッ ク さ れ る 確 率 は 、 宝 く じ を 換 金 し て い る あ い だ に 隕 石 に ぶ ち 当 た る 確 率 よ り は 低 い 。 た だ し あ る 人 間 が 接 続 を 盗 聴 し 、 長 い 間 出 力 を と り 続 け れ ば 、 破 る こ と は 不 可 能 で は な い 。 20 年 も 経 て ば 、 1536 ビ ッ ト の 鍵 も 小 さ い と 考 え ら れ る か も し れ な い 。 ま た (こ こ で 用 い ら れ て い る ) 離 散 対 数 問 題 は 、 素 因 数 分 解 よ り も 解 く の が 難 し い と 考 え ら れ て い る の で 、 鍵 は RSA よ り も 実 効 的 に や や 大 き い こ と に な る 。 こ れ は 私 の (ど ち ら か と い う と 無 学 な ) 意 見 で あ る 。
--download-scripts
mirrordir に は 2 つ の 版 、 International 版 と US 版 が あ る ( --version を 見 よ )。 US 版 は 暗 号 化 に 類 す る コ ー ド を 一 切 含 ん で い な い 。 そ の 代 わ り 、 必 要 な ア ル ゴ リ ズ ム を ( 南 ア フ リ カ に あ る ) encrypt.obsidian.co.za か ら ダ ウ ン ロ ー ド す る よ う に な っ て い る 。 こ れ ら は 高 速 か つ ネ イ テ ィ ブ な 、 C 形 式 の イ ン タ ー プ リ タ 言 語 で 書 か れ て い る 。 こ れ ら は 4 つ の ス ク リ プ ト か ら な る 。 そ れ ぞ れ 、 Diffie-Hellman 鍵 交 換 サ ー バ 、 Diffie-Hellman 鍵 交 換 ク ラ イ ア ン ト 、 ス ト リ ー ム cipher の 初 期 化 、 実 際 に ス ト リ ー ム cipher を 用 い た 暗 号 化 、 の た め の も の で あ る 。 mirrordir は 、 あ な た が セ キ ュ リ テ ィ 機 能 を 用 い よ う と す る と 、 自 動 的 に こ れ ら の ス ク リ プ ト を ダ ウ ン ロ ー ド す る 。 し か し こ の --download-script オ プ シ ョ ン を 用 い る と 、 い つ で も ダ ウ ン ロ ー ド を 実 行 で き る 。 International 版 に は ス ト リ ー ム cipher が 組 み 込 ま れ て い て 、 2 つ の ス ク リ プ ト だ け を 用 い る が 、 こ れ ら は 配 布 に 含 ま れ て い る の で ダ ウ ン ロ ー ド の 必 要 は な い 。 Diffie-Hellman 交 換 を ス ク リ プ ト で 用 い て も 、 速 度 的 な 劣 化 は 生 じ な い 。 し か し 暗 号 化 に 関 し て は 、 ス ク リ プ ト と 組 み 込 み の 間 の 違 い が 結 構 大 き い か も し れ な い 。
--version
バ ー ジ ョ ン 番 号 と 、 こ の mirrordir が International 版 か US 版 か を 表 示 す る 。 --download-scripts を 見 よ 。
-z , --gzip
mc:// 接 続 で 圧 縮 を 有 効 に す る 。 実 際 に は 符 号 化 よ り も 低 い レ ベ ル に あ る 圧 縮 ソ ケ ッ ト 層 を 呼 出 す 。 圧 縮 は gzip (1) の libz ラ イ ブ ラ リ を 用 い て 行 な う 。 圧 縮 の 程 度 は 、 転 送 時 間 を 最 小 化 す る よ う に 動 的 に 設 定 さ れ る 。 高 速 な イ ー サ ネ ッ ト 接 続 な ら 無 圧 縮 に ま で 低 く な り う る し 、 モ デ ム 経 由 の 遅 い 接 続 で は 最 大 圧 縮 に ま で 高 く な る 。 こ の ア ル ゴ リ ズ ム は 、 TCP の write コ ー ル が 、 同 量 の デ ー タ を deflate す る (つ ま り 圧 縮 す る ) 時 間 の 2〜 5 % の 範 囲 に な る よ う に 、 圧 縮 レ ベ ル を 調 整 す る 。
--gzip-backups
バ ッ ク ア ッ プ は 通 常 は 単 に フ ァ イ ル の コ ピ ー で あ る 。 こ の オ プ シ ョ ン を 指 定 す る と 各 フ ァ イ ル は 圧 縮 さ れ 、 .gz が デ フ ォ ル ト の 拡 張 子 と し て 付 加 さ れ る 。 バ ッ ク ア ッ プ の 拡 張 と し て 、 あ な た が 自 分 で --backup-extension の 指 定 を 行 な っ た 場 合 は 、 そ の 末 尾 が .gz で 終 ら な い と 、 比 較 が 正 し く 動 作 し な い 。
--case-insensitive , --for-Robert-Seese
フ ァ イ ル 名 や リ ン ク 名 の 比 較 に 、 大 文 字 小 文 字 の 違 い を 無 視 す る 。 こ れ は 、 特 定 の 頭 の 悪 い OS と 通 信 す る と き に 便 利 だ ろ う 。 こ の オ プ シ ョ ン が す べ て の 状 況 で 正 し く 動 作 す る か ど う か は 、 あ ま り 自 信 が 無 い 。
--to-lower
--to-upper
す べ て の 新 し い フ ァ イ ル 名 を 大 文 字 ま た は 小 文 字 に 変 換 す る 。 --case-insensitive と 共 に 用 い る と 、 新 し い フ ァ イ ル を 作 成 す る 場 合 に の み 適 用 さ れ る 。 --case-insensitive な し で 指 定 す る と 、 既 存 か ど う か に 関 ら す 、 す べ て の フ ァ イ ル が 大 文 字 ・ 小 文 字 に 変 換 さ れ る 。 こ の と き の 方 法 は 非 効 率 的 な も の で 、 古 い フ ァ イ ル を 一 度 消 し て か ら 、 新 し い フ ァ イ ル を 再 度 コ ピ ー す る 。 こ れ は 、 特 定 の 頭 の 悪 い OS と 通 信 す る と き に 便 利 だ ろ う 。 こ の オ プ シ ョ ン が す べ て の 状 況 で 正 し く 動 作 す る か ど う か は 、 あ ま り 自 信 が 無 い 。
--no-use-passive-connections
could not setup passive mode と い う エ ラ ー メ ッ セ ー ジ を 受 け 取 っ た 場 合 、 こ の オ プ シ ョ ン を 有 効 に す る 必 要 が あ る と 考 え ら れ る 。 私 は ‘passive’ の 意 味 す る と こ ろ を 完 全 に は 理 解 し て い な い の で 、 私 に は 聞 か な い で ほ し い 。
--tar-file filename
こ れ は
recursdir
と 共 に の
み 用 い る 。 tar ア
ー カ イ ブ を GNU
tar
(1) と 同 じ フ ォ
ー マ ッ ト で 作
成 し 、
filename
に 保
存 す る 。 先 頭
の 特 殊 な プ レ
フ ィ ッ ク ス と
末 尾 の ス ラ ッ
シ ュ は 削 除 さ
れ る 。 す な わ
ち
http://machine/dir/file
は
dir/file
に な る 。 フ
ァ イ ル 名 の 先
頭 文 字 が | の 場
合 、 テ キ ス ト
の 残 り は 出 力
が パ イ プ さ れ
る コ マ ン ド と
み な さ れ る 。
よ っ て gzip 圧 縮 ア
ー カ イ ブ は 、
例 え ば 以 下 の
よ う に す れ ば
作 成 で き る 。
recursdir ftp://machine/dir --tar-file ’| gzip -d >
foo.tar.gz’
--tar-block-size N
tar 出 力 の ブ ロ ッ ク サ イ ズ を 512 * N に す る 。 こ れ は デ ー タ を ア ー カ イ ブ に 書 き 込 む と き の 単 位 で あ る 。 デ フ ォ ル ト は 20。 こ れ は ブ ロ ッ ク デ バ イ ス に 書 き 込 む と き に 限 っ て 意 味 を 持 つ 。 こ れ を --block-size と 混 同 し な い こ と 。
--block-size bytes
デ フ ォ ル ト の ブ ロ ッ ク サ イ ズ は 1024 バ イ ト で あ る 。 消 費 さ れ る ブ ロ ッ ク の 総 数 を 計 算 す る 際 、 フ ァ イ ル サ イ ズ は 隣 接 す る ブ ロ ッ ク 末 尾 に 切 り 上 げ ら れ る 。 実 際 の ブ ロ ッ ク サ イ ズ が こ の 値 よ り も 大 き い と 、 書 き 込 み 時 に 実 際 に 利 用 さ れ る ブ ロ ッ ク 数 よ り も 、 計 算 値 が 小 さ く な る 可 能 性 が あ る 。 よ っ て --max-bytes オ プ シ ョ ン を 用 い る と き に は 、 実 際 の ブ ロ ッ ク サ イ ズ と 同 じ 、 ま た は よ り 大 き な 値 を 指 定 す る こ と が と て も 大 切 で あ る 。
--strict-mtimes
通 常 フ ァ イ ル を コ ピ ー す る 場 合 、 mirrordir は 通 常 mirror の フ ァ イ ル が control の フ ァ イ ル よ り も 「 古 い 」 場 合 に 限 っ て 上 書 き コ ピ ー を 行 な う 。 こ の オ プ シ ョ ン を 用 い る と 、 フ ァ イ ル 間 に 修 正 時 刻 の 「 何 ら か の 」 差 異 が あ れ ば 、 コ ピ ー を 行 な う 。
--no-mtimes
サ イ ズ が 違 う 場 合 に 限 っ て コ ピ ー す る 。 フ ァ イ ル の 修 正 時 刻 は 無 視 す る 。
--ignore-size
フ ァ イ ル の コ ピ ー を mtime に 基 づ い て 行 な い 、 サ イ ズ の 違 い は 無 視 す る 。
--starting-file path
path は フ ァ イ ル ま た は デ ィ レ ク ト リ 。 path が 読 ま れ る ま で は 、 フ ァ イ ル や デ ィ レ ク ト リ は 除 外 フ ァ イ ル (つ ま り mirror に あ る 場 合 は 削 除 さ れ る ) の よ う に 扱 わ れ る 。 path を 含 む デ ィ レ ク ト リ は 、 存 在 し て い な け れ ば 作 成 さ れ る 。 path が 読 み 込 ま れ る と 、 フ ァ イ ル や デ ィ レ ク ト リ は 通 常 に ミ ラ ー さ れ る 。 path そ の も の も ミ ラ ー さ れ る 。 path ま た は そ の サ ブ デ ィ レ ク ト リ が 存 在 し て い な い 場 合 は 、 mirrordir は 直 ち に 終 了 す る 。 こ れ は mirrordir が 作 業 前 に 終 了 す る 唯 一 の 場 合 で あ る 。 こ れ は path が 見 つ か ら な い 場 合 に 、 フ ァ イ ル シ ス テ ム 全 体 が 削 除 さ れ る の を 防 ぐ た め で あ る 。
FTP の サ ポ ー ト
ftp 転
送 が 、 Midnight Commander の
仮 想 フ ァ イ ル
シ ス テ ム (Virtual File System:
VFS
) を 利 用 す る
形 で サ ポ ー ト
さ れ て い る 。
要 す る に つ ま
り 、 URL も ロ ー カ
ル デ ィ レ ク ト
リ と 同 じ よ う
に サ ポ ー ト さ
れ て い る 。 以
下 に 例 を 示 そ
う 。
mirrordir --verbose \
|
ftp://lava.obsidian.co.za/pub/mirrordir \ |
||
|
/home/mirrordir |
あ る い
は
mirrordir --verbose /home/mirrordir \
|
ftp://psheer@lava.obsidian.co.za/home/ftp/pub/mirrordir |
も 動 作 す る 。 た だ し 後 者 で は ま ず パ ス ワ ー ド を 尋 ね ら れ る 。 ftp サ ー バ に 「 ア ッ プ ロ ー ド 」 を 行 う 場 合 は 、 --strict-mtimes オ プ シ ョ ン は on に す べ き で な い 。 ftp で は 修 正 時 刻 の 設 定 は で き な い の で 、 す べ て が コ ピ ー さ れ て し ま う 。
(--verbose を 設 定 す れ ば ) mirrordir が 繰 り 返 し ftp で 修 正 時 刻 と ア ク セ ス 時 刻 を セ ッ ト し よ う と し て い る こ と に 気 づ く だ ろ う 。 用 い て い る VFS の タ イ プ に お け る 制 限 を ユ ー ザ に 知 ら せ る た め に 、 こ れ ら の メ ッ セ ー ジ は 残 し て お く つ も り で あ る 。 こ れ ら の 試 行 は 、 明 ら か な 性 能 の 劣 化 と し て は 現 わ れ な い 。 し か し こ の プ ロ ト コ ル を 用 い た ア ッ プ ロ ー ド の 性 能 が 悪 い 場 合 は 、 代 わ り に mc:// を 用 い て み る と い い だ ろ う 。 な お ダ ウ ン ロ ー ド は 常 に ア ッ プ ロ ー ド よ り も 高 速 で あ る 。
一 般 に cron ジ ョ ブ で は ftp ア ッ プ ロ ー ド を 用 い る べ き で は な い 。 ま た デ ィ レ ク ト リ の 同 期 を 取 る 目 的 に も 向 い て い な い 。 デ ィ レ ク ト リ を 同 期 し た い 場 合 は 、 反 対 側 か ら の ダ ウ ン ロ ー ド を 用 い る こ と 。 ア ッ プ ロ ー ド は 一 回 き り の ア ッ プ ロ ー ド に し か 有 用 で な い 。
例
こ
こ で は
mirrordir
を
用 い て 行 え る
、 ち ょ っ と 気
の 効 い た 作 業
を 紹 介 す る 。
ミ ニ マ リ ス ト
的 コ ピ ー
ソ ー ス ツ リ ー が 2 つ あ り 、 古 い 版 を パ ッ チ を 適 用 す る た め に 保 管 し て お き た い と す る 。 こ れ に は mkdir tree.OLD し て 、
mirrordir -v tree tree.OLD
す る だ け で よ い 。 も う 一 度 mirrordir を 実 行 す れ ば 、 最 小 限 の 変 更 の み (つ ま り 更 新 さ れ た フ ァ イ ル の み ) が コ ピ ー さ れ る (実 は cp (1) も 同 じ こ と を す る )。
シ ス テ ム バ ッ ク ア ッ プ
シ ス テ ム に よ っ て は 、 定 期 的 な バ ッ ク ア ッ プ を テ ー プ ア ー カ イ ブ に 行 っ て い る こ と が あ る 。 ま た RAID デ バ イ ス を 用 い て 、 あ る パ ー テ ィ シ ョ ン と 同 一 の コ ピ ー を 恒 常 的 に 保 持 し て い る シ ス テ ム も あ る だ ろ う 。 mirrordir は さ ら に 別 の 選 択 肢 を 提 供 す る 。 シ ス テ ム に 2 台 の ド ラ イ ブ を 装 備 す る 。 ひ と つ は 普 段 用 い る も の 、 も う 一 つ は バ ッ ク ア ッ プ す る た め の も の で あ る 。 そ し て mirrordir を cron (8) の テ ー ブ ル に 追 加 す る の だ 。 変 更 さ れ た フ ァ イ ル の バ ッ ク ア ッ プ に は 、 様 々 な オ プ シ ョ ン が 利 用 で き る 。 バ ッ ク ア ッ プ デ ィ レ ク ト リ は ユ ー ザ か ら 読 み 取 り 可 能 に し て お き 、 各 人 の バ ッ ク ア ッ プ フ ァ イ ル を 閲 覧 で き る よ う に し て お く と い い だ ろ う 。 特 定 の フ ァ イ ル の 古 い バ ー ジ ョ ン を 取 り 戻 し た い ユ ー ザ は 、 バ ッ ク ア ッ プ か ら 入 手 で き る よ う に な る 。 mirrordir は 変 更 さ れ た フ ァ イ ル の 最 小 限 だ け を 処 理 す る の で 、 非 常 に 高 速 で あ る 。 一 日 に 何 回 も 実 行 し た り 、 あ る い は --nice オ プ シ ョ ン を 付 け て 途 切 れ る こ と な く 実 行 さ せ る こ と さ え 可 能 で あ る 。
マ シ ン が 壊 れ た と き に 対 す る 備 え を さ ら に 強 固 に し た け れ ば 、 FTP を 用 い て リ モ ー ト マ シ ン に バ ッ ク ア ッ プ を 行 う こ と も で き る 。
2 台 の マ シ ン を 毎 時 バ ッ ク ア ッ プ す る
dar2 と い う マ シ ン 上 で 、 私 は 次 の よ う な cron ジ ョ ブ を 6 時 間 ご と に 実 行 し て い る 。
#!/bin/sh
# (this is just
in case of any bugs I don’t know about,
# but I don’t think it is necessary)
killall -9 tee
killall mirrordir >& /dev/null
sleep 2
killall -9 mirrordir >& /dev/null
( \
date ; \
echo "mirrordir says (if it said nothing it is
bad):" ; \
mirrordir mc://dar1:12346/ -p abcdefg /mnt/dar1/ \
-i --exclude-regexp
’ˆmc://dar1:12346/var/lock/subsys/atd’ \
--exclude-regexp ’ˆmc://dar1:12346/proc/’ \
--exclude-regexp
’ˆmc://dar1:12346/mnt/[ˆ/]*/.*$’ \
-i --exclude-regexp
’ˆmc://dar1:12346/boot/’ \
-i --exclude-regexp
’ˆmc://dar1:12346/etc/lilo.conf’ \
-C \
´
if (S_ISDIR (stat.st_mode)) {
if (!regexp ("ˆmc://dar1:12346/[ˆ/]*$",
PATH))
printf ("Backing up: %s0, PATH);
}
´ ; \
date ; \
echo "Done" ; \
) 2>&1 \
| tee --ignore-interrupts --append /var/log/mirrordir.log \
| mail -s ’dar1 backup results’
psheer@obsidian.co.za
安 全 な 転 送 と ロ グ イ ン
turing.co.uk
に
お い て 以 下 の
コ マ ン ド を 実
行 し て お く
secure-mcserv -p 12345 -d
ど こ か 外 部 の
マ シ ン か ら
copydir --secure -K 512 -z \
mc://alan@turing.co.uk:12345/usr/src/linux/.config .
と す れ ば 、 512 ビ
ッ ト の 鍵 を 用
い た 安 全 な フ
ァ イ ル コ ピ ー
(圧 縮 つ き ) が で
き る 。 ま た
pslogin mc://alan@turing.co.uk:12345/
と す れ ば 、 こ
の マ シ ン に 安
全 に ロ グ イ ン
で き る 。
FTP サ イ ト の ミ ラ ー
ftp サ イ ト で は ls の -R オ プ シ ョ ン が 禁 止 さ れ て い る こ と が 多 い の で 、 従 来 用 い ら れ て き た mirror (1) は 失 敗 す る こ と が あ っ た 。 mirrordir に は こ の 制 限 は な い 。
mirrordir -v ftp://metalab.unc.edu/pub /home/ftp/pub
FTP 転 送
よ く あ
る FTP 転 送 は 、 --copy-mode
オ プ シ ョ ン を
用 い た 一 行 の
コ マ ン ド で 簡
単 に 実 現 で き
る 。 複 数 の フ
ァ イ ル を ど ち
ら 向 き に も 、
ま た 別 々 の ftp サ
イ ト に す ら (間
接 的 に で は あ
る が )、
cp
(1) の よ
う に コ ピ ー で
き る 。
copydir -v mirrordir-0.9.15.tar.gz \
mirrordir.lsm ftp://metalab.unc.edu/incoming/Linux
と す る と
mirrordir
を sunsite に ア ッ プ
ロ ー ド す る 。
anonymous で な い ftp 転 送 の パ ス ワ ー ド は 、 標 準 的 な ftp の 慣 習 に 従 っ て ˜/.netrc フ ァ イ ル に 置 き 、 --netrc オ プ シ ョ ン を 用 い る の が よ い 。 あ る い は ftp://myname@machine/ を 用 い て も か ま わ な い 。
フ ァ イ ル 探 索
recursdir / -C
’if (!glob ("*.c", FILE)) printf
("%s\n", PATH);’
と す る と シ ス
テ ム に あ る す
べ て の C フ ァ イ
ル を 表 示 す る
。
recursdir / -C
’if (S_ISCHR(stat.st_mode)) printf ("%s\n",
PATH);’
と す れ ば シ ス
テ ム に あ る す
べ て の キ ャ ラ
ク タ デ バ イ ス
を 表 示 す る 。
FTP サ イ ト を テ ー プ に バ ッ ク ア ッ プ す る
リ モ ー
ト サ イ ト を テ
ー プ に バ ッ ク
ア ッ プ す る に
は
recursdir ftp://user@remote.machine/ \
--exclude-regexp ’//[ˆ/]*/proc/’ --tar-file
/dev/mt
と す れ ば よ い
。
core フ ァ イ ル の 削 除
こ れ は シ ス テ ム か ら す べ て の core フ ァ イ ル を 削 除 す る :
recursdir / -C
´
long l;
if (strncmp (PATH, "/proc", 5)) {
if (S_ISREG (stat.st_mode) && !strcmp
("core", FILE)) {
if (strstr (popen ("file " + PATH), "ELF
32-bit LSB core")) {
l = l + stat.st_size;
printf ("removing: %s, cumu. total = %ldkB\n",
PATH, l >> 10);
exec ("rm", "-f", PATH); /* could also
use system() */
}
}
}
´
環 境 変 数
|
TMPDIR |
一 時 的 な フ ァ イ ル を 保 管 さ せ た い デ ィ レ ク ト リ 。 ftp フ ァ イ ル シ ス テ ム は 、 ま ず フ ァ イ ル を こ の 一 時 デ ィ レ ク ト リ に ダ ウ ン ロ ー ド し 、 正 し い 場 所 に そ の フ ァ イ ル を コ ピ ー す る 。 後 述 の バ グ を 参 照 の こ と 。 |
TMPDIR が 指 定 さ れ な い と 、 デ フ ォ ル ト で は 現 在 進 行 中 の フ ァ イ ル が あ る デ ィ レ ク ト リ に 保 存 さ れ る 。
返 り 値
mirrordir は 以 下 の 値 を 返 す :
|
0 |
成 功 。 |
||
|
1 |
何 ら か の エ ラ ー (書 き 込 み エ ラ ー 、 許 可 属 性 エ ラ ー な ど ) が 起 っ た 。 こ の 場 合 、 エ ラ ー の 詳 細 は stderr に 書 き 込 ま れ て い る は ず で あ る 。 |
||
|
2 |
あ る フ ァ イ ル が 利 用 中 で コ ピ ー で き な か っ た が 、 そ れ 以 外 は 成 功 し た 。 こ の 場 合 は ‘unable to open control file for writing’ と い う エ ラ ー が 書 き 込 ま れ て い る は ず で あ る 。 標 準 エ ラ ー で こ の メ ッ セ ー ジ を grep し 、 こ れ ら の フ ァ イ ル に 対 し て の み も う 一 度 mirrordir を 実 行 す れ ば よ い 。 grep (1) を 参 照 の こ と 。 |
バ グ
atd デ ー モ ン の あ る バ ー ジ ョ ン で は 、 ロ ッ ク フ ァ イ ル (や pid フ ァ イ ル ?) を そ の フ ァ イ ル も ロ ッ ク 付 き で 作 成 す る た め 、 secure-mcserv が 永 遠 に ブ ロ ッ ク す る 。 こ れ を 防 ぐ に は 、 atd を 停 止 さ せ る か 、 こ の フ ァ イ ル を 対 象 か ら 除 外 し な け れ ば な ら な い 。
サ マ ー タ イ ム の 時 間 補 正 が あ る と こ ろ と ftp で ミ ラ ー を 行 う と 、 1 時 間 の 時 間 の オ フ セ ッ ト が 生 じ る よ う に 見 え る 。 と り あ え ず の 回 避 策 と し て は --time-offset を 用 い て ほ し い 。 こ れ が mirrordir の せ い な の か ど う か は 私 に は わ か ら な い 。
mirrordir の せ い で CPU が 食 い 尽 く さ れ 、 停 止 し て し ま う よ う に 見 え る バ グ は 修 正 さ れ た 。
コ マ ン ド ラ イ ン か ら 多 数 の --exclude 式 を 指 定 す る と 、 処 理 が 遅 く な る 。 た く さ ん の フ ァ イ ル の リ ス ト を 除 外 対 象 し た い 人 は 、 そ の リ ス ト を テ キ ス ト フ ァ イ ル に 書 い て 、 --exclude-from オ プ シ ョ ン を 利 用 す る 方 が よ い 。
シ ン ボ リ ッ ク リ ン ク (そ れ が 指 す フ ァ イ ル で は な い ) の 修 正 時 刻 と ア ク セ ス 時 刻 は 複 製 さ れ な い 。
以 前 に あ っ た 、 ハ ー ド リ ン ク フ ァ イ ル が 通 常 フ ァ イ ル と し て 扱 わ れ て し ま う と い う 制 限 は 解 決 さ れ た 。 --no-hard-links オ プ シ ョ ン を 指 定 す れ ば 、 0.9.8 以 前 の 動 作 を エ ミ ュ レ ー ト 可 能 で あ る 。
ハ ー ド リ ン ク が デ バ イ ス を ま た い で 作 成 さ れ て い る か ど う か は チ ェ ッ ク し て い な い 。 こ の 場 合 は そ れ に 見 合 っ た エ ラ ー が 報 告 さ れ る こ と に な ろ う 。
ftp フ ァ イ ル シ ス テ ム は 、 ま ず フ ァ イ ル を 一 時 デ ィ レ ク ト リ に *ftpfs* と い う 名 前 で ダ ウ ン ロ ー ド す る 。 こ れ は ス ペ ー ス の 無 駄 だ が 、 vfs ラ イ ブ ラ リ の デ フ ォ ル ト の 動 作 な の だ 。 こ の デ ィ レ ク ト リ に 十 分 な 容 量 が な い と 、 お そ ら く mirrordir は ハ ン グ す る 。 上 述 の 環 境 変 数 を 参 照 の こ と 。
フ ァ イ ル 除 外 に 用 い る C ス ク リ プ ト 言 語 は 、 実 装 の や り す ぎ で あ る 。
フ ァ イ ル
˜/.netrc
マ シ ン と そ の パ ス ワ ー ド の リ ス ト 。 オ プ シ ョ ン --netrc を 参 照 の こ と 。
/etc/ssocket/accept.cs
こ の ス ク リ プ ト は 、 接 続 の サ ー バ 側 で 、 鍵 交 換 と 署 名 生 成 を 行 う 。
/etc/ssocket/connect.cs
こ の ス ク リ プ ト は 、 接 続 の ク ラ イ ア ン ト 側 で 、 鍵 交 換 と 署 名 生 成 を 行 う 。
/etc/ssocket/arcinit.cs
ス ト リ ー ム cipher 暗 号 化 を 初 期 化 す る (国 際 版 で は 存 在 し な い )。
/etc/ssocket/arcencrypt.cs
ス ト リ ー ム cipher 暗 号 化 を 行 う (国 際 版 で は 存 在 し な い )。
/etc/ssocket/private/
こ の デ ィ レ ク ト リ に は 、 ホ ス ト の 秘 密 鍵 が 置 か れ る 。 鍵 は そ れ ぞ れ 別 々 の フ ァ イ ル に 保 存 さ れ る 。 フ ァ イ ル 名 は 512, 1024 な ど で あ る 。 鍵 の デ ー タ ベ ー ス を 使 う よ う に す る と 、 鍵 管 理 用 の ユ ー テ ィ リ テ ィ が 必 要 に な る の で 、 こ ち ら の ほ う が よ い 。 す ぐ に Reiser フ ァ イ ル シ ス テ ム が 標 準 的 に な る だ ろ う か ら 、 デ ー タ ベ ー ス フ ァ イ ル は い ず れ に し て も 不 要 に な る だ ろ う 。
/etc/ssocket/public/
こ ち ら は 公 開 鍵 の も の 。 後 は /etc/ssocket/private/ と 同 様 。
準 拠
mirrordir は 作 成 者 の 発 明 で あ り 、 い か な る OS の 標 準 に も 従 っ て い な い (そ う す る べ き で は あ る が !)
入 手 方 法
こ の プ ロ グ ラ ム の 最 新 版 は 、 ftp://metalab.unc.edu/pub/Linux/system/backup ま た は ftp://lava.obsidian.co.za/pub/linux/mirrordir か ら 入 手 で き る 。
著 者
Paul Sheer <psheer@obsidian.co.za> <psheer@icon.co.za>
関 連 項 目
mirror (1), pavuk (1), cp (1), scp (1), find (1), mc (1), ftp (1), ssh (1), tar (1), rlogin (1), rlogind (8), forward (1)