Mirror is an open source python application for mirror site (e.g. mirror.bjtu.edu.cn) to sync files from upstreams (it uses rsync internally), it actually works like a cron, but still has some differences. It has been served for mirror.bjtu.edu.cn with more than 40 rsync tasks.
- Shang Yuanchun
- Bob Gao
For contributors and past developers see: AUTHORS
Install from PyPI
You can install
mirror by running pip:
$ sudo pip install mirror
Install from source
Or if you want to build and install from source:
$ python setup.py build $ sudo python setup.py install
Config and running
After that, you are going to set up environment, you are encouraged to add a specific user to run
mirrord, here we suppose the username is
mirror and its home directory is
Make necessary directories:
$ sudo chown mirror:mirror /var/log/mirrord /var/log/rsync $ sudo mkdir /etc/mirror $ sudo cp config/mirror.ini /etc/mirror/
Now you can edit mirror.ini to fit your needs and run:
and that's done. Also you can use
man mirrord or
mirrord -h to read the documents.
mirrord is running, you can run:
$ mirrord -t
to show the current task queue.
- It's simple and easy to add a mirror
- You can set a priorty for each mirror, from 1 to 10, 1 is highest
- And scheduler will schedule a task depending on current conditions
- You can also set a timeout for each mirror
- Support for two stage syncing (for ubuntu, debian)
- You can also use it as another cron...