WebDAVを使ってファイル送受信を行うツールを作成してみようと思ったのが少し前。しかし、調べてみると面倒そう。もっと手軽にできる方法はないものかと探していたら、CadaverというWebDAVクライアントがあることを知った。
このCadaver、FTPクライアントのように、処理コマンドをシェルで渡してあげるだけで、一連の処理ができるという優れものらしい。
そうと聞いたら(見たら)使ってみるしかない。さっそくダウンロードしてインストールしてみた。
まずはcadaverのダウンロード。以下のサイトから最新版をダウンロードします。
http://www.webdav.org/cadaver/
FTPでもsambaでも何でもいいので、インストールするマシンに転送し、解凍。
$ tar zxvf cadaver-0.22.5.tar.gz
コンパイル。
$ ./Configure
$ make
そして実行ファイルだけを /usr/local/cadaver にコピー。
# mkdir /usr/local/cadaver
# cp -a cadaver /usr/local/cadaver/cadaver
cadaverの実行ファイルを置いたディレクトリにパスを通して、とりあえずは疎通テスト。192.168.0.120にあるWebDAVサーバに接続してlsコマンドを実行してみました。
$ cadaver http://192.168.0.120/webdav/
Authentication required for Tomcat Supported Realm on server `192.168.0.120':
Username: username
Password:
dav:/webdav/> ls
Listing collection `/webdav/': succeeded.
Coll: index.html 2401 5月 26 2004
tomcat-power.gif 2324 5月 26 2004
tomcat.gif 1934 5月 26 2004
dav:/webdav/> quit
Connection to `192.168.0.120' closed.
どうやらちゃんと使えるようです。
続いて、自動ログインに対応させるための設定を行います。
ユーザーのホームディレクトリに .netrc というファイルを作成し、マシン情報を登録しておくだけでOKらしい。早速作成。
$ vi ~/.netrc
machine 192.168.0.120 login username password password
machine 192.168.0.121 login webdav password webdav
machine WebDAV-server login wd000100 password abcdefg
よーするに、machine [マシン名orIP] login [ユーザー名] password [ユーザーパスワード] を書いておけばいいようだ。ちなみに、「machine [マシン名orIP]」の部分を default にすると、その行に書いた情報がデフォルトで使われるようになる。ただし、defaultは一番最後の行に書かないと、default行以降は読み飛ばされてしまうので注意。
もう一度 Cadaver で接続してみると、今度はユーザー名とパスワードを聞かれることなくログインできた。
$ cadaver http://192.168.0.120/webdav/
dav:/webdav/>
これでインストールと設定が完了。さて、ではファイル送受信するツールのようなものをシェルで作成・・・するのは、次回 Part.2 にて。
コメント