~xubuntu-dev/ubuntu-cdimage/xubuntu-base

« back to all changes in this revision

Viewing changes to bin/anonftpsync

  • Committer: Colin Watson
  • Date: 2004-07-14 12:23:45 UTC
  • Revision ID: Arch-1:colin.watson@canonical.com--2004%cdimage--mainline--0--base-0
import from little
Import cdimage wrapper and utility scripts from little.warthogs.hbd.com.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh
 
2
set -e
 
3
 
 
4
# This script originates from http://www.debian.org/mirror/anonftpsync
 
5
 
 
6
# Note: You MUST have rsync 2.0.16-1 or newer, which is available in slink
 
7
# and all newer Debian releases, or at http://rsync.samba.org/
 
8
 
 
9
# Set the variables below to fit your site. You can then use cron to have
 
10
# this script run daily to automatically update your copy of the archive.
 
11
 
 
12
# Don't forget:
 
13
# chmod 744 anonftpsync
 
14
 
 
15
# TO is the destination for the base of the Debian mirror directory
 
16
# (the dir that holds dists/ and ls-lR).
 
17
 
 
18
TO=/srv/cdimage.no-name-yet.com/ftp
 
19
 
 
20
RSYNC_USER=sounder
 
21
export RSYNC_PASSWORD=oink
 
22
 
 
23
# RSYNC_HOST is the site you have chosen from the mirrors file.
 
24
# (http://www.debian.org/mirror/list-full)
 
25
 
 
26
RSYNC_HOST=auckland
 
27
 
 
28
# RSYNC_DIR is the directory given in the "Packages over rsync:" line of
 
29
# the mirrors file for the site you have chosen to mirror.
 
30
 
 
31
RSYNC_DIR=ftp/
 
32
 
 
33
# EXCLUDE is a list of parameters listing patterns that rsync will exclude.
 
34
# The following example would exclude mostly everything:
 
35
#EXCLUDE="\
 
36
#  --exclude binary-alpha/ --exclude binary-arm/ --exclude binary-i386/ \
 
37
#  --exclude binary-m68k/ --exclude binary-powerpc/ --exclude binary-sparc/ \
 
38
#  --exclude binary-ia64/ --exclude binary-mips*/ --exclude binary-hppa/ \
 
39
#  --exclude binary-sh/ --exclude binary-s390/ \
 
40
#  --exclude binary-hurd-i386/ \
 
41
#  --exclude *_alpha.deb --exclude *_arm.deb --exclude *_i386.deb \
 
42
#  --exclude *_m68k.deb --exclude *_powerpc.deb --exclude *_sparc.deb \
 
43
#  --exclude *_ia64.deb --exclude *_hppa.deb --exclude *_sh.deb \
 
44
#  --exclude *_mips.deb --exclude *_mipsel.deb --exclude *_s390.deb \
 
45
#  --exclude *_hurd-i386.deb \
 
46
#  --exclude disks-alpha/ --exclude disks-arm/ --exclude disks-i386/ \
 
47
#  --exclude disks-ia64/ --exclude disks-m68k/ --exclude disks-mips*/  \
 
48
#  --exclude disks-powerpc/  --exclude disks-s390/  --exclude disks-sparc/ \
 
49
#  --exclude stable/ --exclude testing/ --exclude unstable/ \
 
50
#  --exclude source/ \
 
51
#  --exclude *.orig.tar.gz --exclude *.diff.gz --exclude *.dsc \
 
52
#  --exclude /contrib/ --exclude /non-free/ \
 
53
# "
 
54
 
 
55
# With a blank EXCLUDE you will mirror the entire archive.
 
56
 
 
57
EXCLUDE=
 
58
 
 
59
# There should be no need to edit anything below this point, unless there
 
60
# are problems.
 
61
 
 
62
#-----------------------------------------------------------------------------#
 
63
 
 
64
# Note: on some non-Debian systems, hostname doesn't accept -f option.
 
65
# If that's the case on your system, make sure hostname prints the full
 
66
# hostname, and remove the -f option. If there's no hostname command,
 
67
# explicitly replace `hostname -f` with the hostname.
 
68
HOSTNAME=`hostname -f`
 
69
 
 
70
LOCK="${TO}/Archive-Update-in-Progress-${HOSTNAME}"
 
71
 
 
72
# Get in the right directory and set the umask to be group writable
 
73
 
74
cd /srv/cdimage.no-name-yet.com/log
 
75
umask 002
 
76
 
 
77
# Check to see if another sync is in progress
 
78
if lockfile -! -l 43200 -r 0 "$LOCK"; then
 
79
  echo ${HOSTNAME} is unable to start rsync, lock file exists
 
80
  exit 1
 
81
fi
 
82
# Note: on some non-Debian systems, trap doesn't accept "exit" as signal
 
83
# specification. If that's the case on your system, try using "0".
 
84
trap "rm -f $LOCK > /dev/null 2>&1" exit
 
85
 
 
86
set +e
 
87
rsync --recursive --links --hard-links --times --verbose --compress --delete \
 
88
     --exclude "Archive-Update-in-Progress-${HOSTNAME}" \
 
89
     --exclude "project/trace/${HOSTNAME}" \
 
90
     $EXCLUDE \
 
91
     $RSYNC_USER@$RSYNC_HOST::$RSYNC_DIR $TO > rsync.log 2>&1
 
92
date -u > "${TO}/project/trace/${HOSTNAME}"
 
93
 
 
94
# Note: if you don't have savelog, use any other log rotation facility, or
 
95
# comment this out, the log will simply be overwritten each time.
 
96
savelog rsync.log > /dev/null 2>&1