[파일] FTP서버 미러링 하기
Remote ftp site의 directory의 내용을 불필요히 중복되는 내용을
transfer하지 않고 새로이 나온 utility나 update된 file들만을 찾
아내어, 현재있는 local host에 ftp protocol을 이용하여 transfer
하여주도록 하는 mirroring tool이 있어 간단히 소개한다.
mirroring은 host간의 directory hierarchies를 copy하는데 제공되
는 package로서 perl로 programming되어 있으며, 이것은 두가지 용
으로 사용될 수 있다.
첫째로는 위에서 살펴본 바와 같이 remote ftp archive의 내용을 현
재의 localhost에 mirror image를 만드는데 사용될수 있으며, 이 화
랑의 경우 export.lcs.mit.edu의 ~ftp/contrib를 hwarang의
http/pub/X11/contrib에 mirroring하도록 하였다. 이의 자세한 내용
이나 configuration은 아래에서 살펴보기로 한다.
둘째로는, command line에서 argument형태로서 directory hiearchy
를 get 하거나 put하는데 사용될 수 있다. 이에 대한 자세한 내용
은 mirroring tool에 있는 manual을 참조한다.
NAME
mirror – mirror packages on remote sites
SYNOPSIS
mirror -[dvTn] [-Ufilename [-ppackage] [config-files]
mirror -[mtfr[G|P]] [-kkey=val] [-cconfig-file]
[-ssite] [-uuser] {local_dir remote_dir [get_patt]}+
화랑의 mirroring configuration을 소개한다.
package=contrib
comment=The X Area at export
# gatekeeper.dec.com.
# site=16.1.0.2
# export.lcs.mit.edu
site=18.24.0.12
remote_password=ftpadm at hwarang.postech.ac.kr
mail_to=ftpadm
remote_dir=/contrib
local_dir+/lab/ftp/pub/X11/contrib
max_days=90
user=ftpadm
group=other
그러면, 이 configuration file을 가지고 cron에 의해서 network이
한가한 시간을 틈타 ftping해오도록 cron에 의해서 돌려줄수 있겠
다. 이때, configuration file을 my.conf라 하고, hwarang은 name
service가 제공되지 않고 있으므로, host name이 아니라 ip address
를 이용하여 remote host를 정의하고 있다. mirroring작업이 완료될
때마다, mirroring된 file들을 ftpadm에게 메일로 보내어 지게 된
다. 밤마다 cron에의해서 아래의 shellscript가 수행되고,
mirroring 은 계속 진행되는 것이다.
#!/bin/sh
#ftpadm at hwarang.postech.ac.kr.
#
home=/lab/ftp/adm/work/mirror
PERLLIB=$home; export PERLLIB
cd $home
log=MIRROR.OUT
if [ -r $log ]; then
mv -f $log $log.old
mv -f $log.2 $log.old.2
fi
# cd public ftp directory
$home/mirror.pl -C$home/my.conf -d $* $home/$log 2 $home/
$log.2 /dev/null 2&1
이 mirroring tool의 source는
hwarang:~ftp/pub/misc/mirror.2.0.test13.tar.Z
나 src.doc.ic.ac.uk(167.169.2.1):~ftp/archiving/mirror.shar 에
서 구할 수 있다.