WeexでFTPサーバの上のファイルを一括でバックアップする

先ほどレンタルサーバの上のファイルをFTP経由で自動でバックアップを取る方法(ftpsync)という記事を書いたら、weexはどうかしら?とTwitterで教えていただいた。

FreeBSDの/usr/ports/ftp ディレクトリを見ると、weexが入っている。
weexは、FTP経由でバックアップを取る際に便利なツール。キャッシュを使って、高速でディレクトリの同期が取れるとのこと。
ならばと、さっそく試してみるとにしました。

まずは、ports/ftp/weex ディレクトリに入ります。

botsv# pwd
/usr/ports/ftp/weex

botsv# ls
Makefile distinfo files pkg-descr pkg-plist

メーク&インストール開始
botsv# make -DBATCH install

途中で、weex-2.6.1.5.tar.gz と言うのをダウンロードしているので、Version 2.6.1.5ということらしい。
何事もなくMake & インストール完了。

botsv# rehash
botsv# weex
Created directory `/root/.weex’.
Warning! Configuration file `/root/.weex/weexrc’ does not exist.
Fast Webpage Exchanger Ver 2.6.1 Copyright (C) 1999-2000 Yuuki NINOMIYA

This is free software with ABSOLUTELY NO WARRANTY.
For details please see the file COPYING.

usage: weex [OPTIONS] HOST…

options:
-h | –help display this help and exit
-s | –silent suppress normal non-error messages
-f | –force force sending all files
-m | –monochrome output messages in monochrome
-t | –test not modify remote files
-r | –rebuild-cache rebuild cache file
-d | –debug-config display configuration of each hosts
-D | –debug-ftplib output debugging information for ftplib
-V | –version display version information and exit

ふむふむ・・・。
とりあえずオプションを調べる。
botsv# man weex

どうやら、パラメータ=設定値という形式でやればいいらしい。

botsv#weex HostName=ftp://pcm.cside7.com LoginName=pcm Password=**** DestDir=/var/ftpbackup/pcm.cside7.com/ SrcDir=/public_html
として実行してみた。

Configuration file `/root/.weex/weexrc’ does not exist.
どうやら、weexrc というのが必要らしい。
・・・というか、コマンドラインで全てのパラメータを与えるような使い方をするツールではないらしい。

botsv#vi /root/.weex/weexrc
として、以下のように記述した。

[cside7]
HostName=ftp://pcm.cside7.com
LoginName=pcm
Password=*********
DestDir=/var/ftpbackup/pcm.cside7.com/
SrcDir=/public_html

実行は以下ようにすればいい。

botsv# weex cside7
Warning! Set `/root/.weex/weexrc’ permissions to 600.

Connect : ftp://pcm.cside7.com
Cache file `/root/.weex/weex.cache.cside7′ does not exist. Creating a new one.
Cannot change local current working directory to `/public_html/’.
Disconnect : ftp://pcm.cside7.com

警告が2つ出た。
1つは、weercのパーミッションを変えろ、
もう1つは、キャッシュ用の /root/.weex/weex.cache.cside7 を作れということ。

botsv# mkdir /root/.weex/weex.cache.cside7
botsv# chmod 600 /root/.weex/weexrc

以上の設定を行ったら完了。
次からは、以下のように実行すればよい。

botsv# weex cside7