転送ファイル |
作成日:2007-03-04 最終更新日: |
私のホームページの Namazu 検索では、 かつて、自分のローカルのコンピュータで Namazu のインデックスファイルを作り、 それから必要な NMZ.* ファイルをリモートコンピュータへ転送していた。 以下はそのときの名残である。
では、どの NMZ.* ファイルを転送すべきだろうか。 インデックスファイルはすべて必要なのだから、転送すべきなのか。 それとも、必要なファイルを決めて、転送すべきか。
最初は必要なファイルを選ぼうとした。 しかし、ほとんど全てが必要であることに気づいた。 いらないものだけを省いて、あとは送ることにした。
$ruby -n -e 'print if $_.length > 70' NMZ.w
実際に転送ファイルを送るスクリプトを示す。言語は Ruby である。
#!/usr/bin/ruby
require 'net/ftp'
Dir.chdir('/homedirectory/localcomputerindexdirectory')
d = Dir.new(".")
ftp = Net::FTP.new(hostname, userid, password)
ftp.chdir('remotecomputerindexdirectory')
ftp.passive = true
d.each {|x|
next if /^\.$/ =~ x
next if /^\.\.$/ =~ x
next if /^NMZ/ !~ x
next if /log$/ =~ x
next if /~$/ =~ x
next if /BAK/ =~ x
next if /tmp/ =~ x
puts ("Got "+ x)
ftp.putbinaryfile(x, x, 1024)
}
ftp.close
ループの部分で next if の行が、 不適当なファイルを選別し、送らないようにしている箇所である。
まりんきょ学問所 > 全文検索システム Namazu > 転送ファイル