rsync scheduler for open source mirror site
Clone or download


Build Status Python version Release version PyPi version AUR version

Mirror is an open source python application for mirror site (e.g. 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 with more than 40 rsync tasks.

You are welcome to send comments, patches and any others to github or to @idealities.



  • Shang Yuanchun
  • Bob Gao

For contributors and past developers see: AUTHORS

Installation Instructions

You can install mirror by running pip:

sudo pip install mirror

Or if you want to build and install from source:

python build
sudo python install

If from source, you can install it to a custom directory:

python 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 /home/mirror.

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.

If 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...