1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
########################################################################
########################################################################
## This is a sample configuration file for the ftpsync mirror script. ##
## Most of the values are commented out and just shown here for ##
## completeness, together with their default value. ##
########################################################################
########################################################################
## Mirrorname. This is used for things like the trace file and should always
## be the full hostname of the mirror.
#MIRRORNAME=${MIRRORNAME:-`hostname -f`}
## Destination of the mirrored files. Should be an empty directory.
## CAREFUL, this directory will contain the mirror. Everything else
## that might have happened to be in there WILL BE GONE after the mirror sync!
#TO=${TO:-"/org/www.debian.org/www"}
## The upstream name of the rsync share.
#RSYNC_PATH="web.debian.org"
## The host we mirror from
#RSYNC_HOST=www-master.debian.org
## In case we need a user to access the rsync share at our upstream host
#RSYNC_USER=
## If we need a user we also need a password
#RSYNC_PASSWORD=
## In which directory should logfiles end up
## Note that BASEDIR defaults to $HOME, but can be set before calling the
## ftpsync script to any value you want (for example using pam_env)
#LOGDIR="${BASEDIR}/log"
## Name of our own logfile.
## Note that ${NAME} is set by the websync script
#LOG="${LOGDIR}/${NAME}.log"
## The script can send logs (or error messages) to a mail address.
## If this is unset it will default to the local root user unless it is run
## on a .debian.org machine where it will default to the mirroradm people.
#MAILTO="root"
## If you do want a mail about every single sync, set this to false
## Everything else will only send mails if a mirror sync fails
#ERRORSONLY="true"
## If you want the logs to also include output of rsync, set this to true.
## Careful, the logs can get pretty big, especially if it is the first mirror
## run
#FULLLOGS="false"
## If you do want to exclude files from the mirror run, put --exclude statements here.
## See rsync(1) for the exact syntax, these are passed to rsync as written here.
## Please do not use this except for rare cases and after you talked to us.
## For the sponsor logos see SITE_FILTER
#EXCLUDE=${EXCLUDE:-"--exclude ${HOSTNAME}"}
## And site specific excludes, by default its the sponsor stuff that should be local to all
#SITE_FILTER=${SITE_FILTER:-"--include sponsor.deb.* --exclude sponsor_img.* --exclude sponsor.html --exclude sponsor.*.html --filter=protect_sponsor_img.* --filter=protect_sponsor.html --filter=protect_sponsor.*.html"}
## Do we have leaf mirror to signal we are done and they should sync?
## If so set it to true and make sure you configure runmirrors-websync.mirrors
## and runmirrors-websync.conf for your need.
#HUB=false
## We do create three logfiles for every run. To save space we rotate them, this
## defines how many we keep
#LOGROTATE=14
## Our own lockfile (only one sync should run at any time)
#LOCK="${TO}/Website-Update-in-Progress-${MIRRORNAME}"
## The following file is used to make sure we will end up with a correctly
## synced mirror even if we get multiple pushes in a short timeframe
#UPDATEREQUIRED="${TO}/Website-Update-Required-${MIRRORNAME}"
## The trace file is used by a mirror check tool to see when we last
## had a successful mirror sync. Make sure that it always ends up in
## .project/trace and always shows the full hostname.
## This is *relative* to ${TO}
#TRACE=".project/trace/${MIRRORNAME}"
## We sync our mirror using rsync (everything else would be insane), so
## we need a few options set.
## The rsync program
#RSYNC=rsync
## BE VERY CAREFUL WHEN YOU CHANGE THE RSYNC_OPTIONS! BETTER DON'T!
## BE VERY CAREFUL WHEN YOU CHANGE THE RSYNC_OPTIONS! BETTER DON'T!
## BE VERY CAREFUL WHEN YOU CHANGE THE RSYNC_OPTIONS! BETTER DON'T!
## BE VERY CAREFUL WHEN YOU CHANGE THE RSYNC_OPTIONS! BETTER DON'T!
## Default rsync options every rsync invocation sees.
#RSYNC_OPTIONS="-prltvHSB8192 --timeout 3600 --stats --exclude Archive-Update-in-Progress-${MIRRORNAME} --exclude ${TRACE} --exclude Archive-Update-Required-${MIRRORNAME}"
## Default rsync options
#RSYNC_OPTIONS2=${RSYNC_OPTIONS2:-"--max-delete=40000 --delay-updates --delete --delete-after --delete-excluded"}
## You may establish the connection via a web proxy by setting the environment
## variable RSYNC_PROXY to a hostname:port pair pointing to your web proxy. Note
## that your web proxy's configuration must support proxy connections to port 873.
# RSYNC_PROXY=
## Hook scripts can be run at various places during the sync.
## Leave them blank if you don't want any
## Hook1: After lock is acquired, before first rsync
## Hook2: After first rsync, if successful
## Hook3: After second rsync, if successful
## Hook4: Right before leaf mirror triggering
## Hook5: After leaf mirror trigger, only if we have slave mirrors (HUB=true)
##
## Note that Hook3 and Hook4 are likely to be called directly after each other.
## Difference is: Hook3 is called *every* time the second rsync was successful,
## but even if the mirroring needs to re-run thanks to a second push.
## Hook4 is only effective if we are done with mirroring.
#HOOK1=
#HOOK2=
#HOOK3=
#HOOK4=
#HOOK5=
|