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
You can install
mirror by running pip:
sudo pip install mirror
Or if you want to build and install from source:
python setup.py build sudo python setup.py install
If from source, you can install it to a custom directory:
python setup.py install --root=/tmp
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 mkdir /var/log/mirrord /var/log/rsync sudo chown mirror:mirror /var/log/mirrord /var/log/rsync mkdir ~/.config/mirror cp config/mirror.ini ~/.config/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:
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...