Provided by: manpages-ja_0.5.0.0.20080615-1_all bug

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
              台のドライブを装備する。ひとつは普段用いるもの、
              もう一つはバックアップするためのものである。 そして mirrordircron(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)