5 ## Make sure we're running as the right user.
8 *) exec userv -fstdin=/dev/null mirror run ;;
11 ## Set up a plausible environment.
12 HOME=/var/lib/mirror; export HOME; cd
13 MIRRORS=/mnt/ftp/pub/mirrors; export MIRRORS
14 PATH=$HOME/bin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin:/usr/local/sbin
18 ## Make sure we're running with a lock file.
19 case "${MIRROR_LOCKED-nil}" in
20 nil) exec env MIRROR_LOCKED=t locking -f var/mirror.lock "$0" "$@" ;;
23 ## Hack for mad Kerberized NFS.
24 if [ -r etc/krb5.keytab ]; then
25 kinit -k -t etc/krb5.keytab mirror
28 ## Before we start, rotate the logs. (Doing things this way means that we
29 ## can be sure we don't lose new logs, even if the log rotation goes
31 logrotate -s var/logrotate.state etc/logrotate.conf
33 ## Let SIGINT take out the children only.
36 ## Now do the various mirroring things.
37 for file in $(run-parts --list etc/mirrors.d); do
38 [ -x "$file" ] || continue
39 base=${file##*/}; base=${base#[0-9]*-}
42 echo "***--------------------------------------------------"
43 echo "*** Running $base at $(date +%Y-%m-%dT%H:%M:%S)"
45 set +e; (trap - INT; exec "$file"); rc=$?; set -e
47 echo "*** Finished $(date +%Y-%m-%dT%H:%M:%S); rc = $rc"
48 ) >>log/$base.log 2>&1