This page is part of the FTP Infrastructure documentation. Please visit
that page for an overview.
There are five categories of scripts:
Each is explained here.
Types of scripts
Sync Data from Upstream
- Wrapper for scripts to sync and lock.
- If you need to force an update to a specific project, please do the
following on ftp-osl:
$ /data/mirror/bin/run-update <project name> --email
- Run by run-update to actually sync the data for each tree.
- Should not be run manually (use run-update instead).
Sync Between Master and Slave
This system of triggering runs on a cron job once per minute, so in theory
changes to ftp-osl are propagated very quickly out to the other ftp servers.
- Same use as for pulling from upstream, but pulls from master.
- Puts a trigger file in /data/trigger/set/tree_name/ on master.
- The trigger indicates that the master is up-to-date and the slaves can begin
- Used by the slave servers to check for new triggers set on the master.
- If it tries to remove a trigger that has already been removed, will send an
error e-mail. It is safe to ignore this e-mail unless a deluge of errors
occurs. Network latency is usually the cause.
- Copies set triggers from master to slaves.
- Creates and sets up chroot used by trigger system.
- Check if a particular IP address is on the I2 list.
- A much faster version of the bash script.
- Update the mysql database of IP addresses from the I2 list.
- Manage temporary iptables blacklist.
- Accepts any number of IPs/netblocks as arguments.
- Only affects local box.
- Won’t affect normal firewall; uses mangle table.
- Goes through trees to find size of each.
- Info stored in a log file, processed by fir.
- Run manually to update fancy header used on http indexes.
- Since the output files are in cfengine, need to update those files at the
- Run every minute to update bandwidth bar.
- Runs md5sum on every package in specified ubuntu or debian tree.
- Takes about half a day to run.
- /usr/local/sbin/logs-* Deprecated??
- Manage apache and ftp logs instead of using logrotate
- Run by cron jobs.
- syncs files with a 2-stage sync to avoid breaking
- config file for ftpsync to sync $project
- config file for runmirrors to push $project
- config file listing slaves to push
- see http://www.debian.org/mirror/push_mirroring for more info