Mirrordamise skript
Allikas: Kuutõrvaja
Sobilik näiteks avaliku FTP serveri loomiseks.
#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
export PATH
FTPDIR=/srv/ftp
LOGDIR=/srv/mirror/log
# Kolm parameetrit:
# $1 - mirrori nimi
# $2 - kust võetakse
# $3 - kuhu pannakse
#
_mirror () {
date "+Start $1: %+" >> $LOGDIR/mirror.log
if [ -f /var/run/$1.lock ]; then
echo "$1 eelmine mirror ikka veel töötab." >> $LOGDIR/mirror.log
return
else
date '+Start: %+' > $LOGDIR/$1.log
lockf -t 0 /var/run/$1.lock rsync -av --delete --omit-dir-times $2 $3 >> $LOGDIR/$1.log 2>&1
date '+End: %+' >> $LOGDIR/$1.log
fi
date "+End $1: %+" >> $LOGDIR/mirror.log
}
ulimit -n 8192
# FreeBSD
_mirror FreeBSD-CERT ftp.cz.freebsd.org::FreeBSD/CERT/ $FTPDIR/pub/FreeBSD/CERT/
_mirror FreeBSD-distfiles ftp.cz.freebsd.org::FreeBSD/distfiles/ $FTPDIR/pub/FreeBSD/distfiles/
# kernel.org
_mirror KERNEL-ORG rsync.kernel.org::pub/ $FTPDIR/pub/kernel.org/
# Gentoo
_mirror gentoo rsync://ftp.snt.utwente.nl/gentoo/ $FTPDIR/gentoo
_mirror gentoo-portage rsync://rsync.europe.gentoo.org/gentoo-portage/ $FTPDIR/gentoo-portage