Skip to content

ideal/mirror

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bfac342 · Aug 22, 2024
Jun 30, 2020
Jan 29, 2019
Mar 30, 2015
Mar 14, 2021
Sep 7, 2014
Oct 12, 2020
Oct 10, 2020
Jun 29, 2020
Oct 17, 2020
Jul 3, 2019
Nov 12, 2019
Oct 10, 2020
Oct 14, 2018
Jul 30, 2013
Mar 16, 2020
Jul 3, 2019
Oct 10, 2020
Oct 16, 2018
Nov 19, 2014
Jun 15, 2013
Oct 9, 2018
Jun 5, 2014
Aug 22, 2024

Repository files navigation

Mirror

Build Status Python version Release version PyPi version AUR version

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.

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

Homepage: https://mirror.bjtu.edu.cn

Authors

  • Shang Yuanchun
  • Bob Gao
  • Chestnut

For contributors and past developers see: AUTHORS

Installation Instructions

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

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:

$ mirrord

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.

screenshot

Contact/Support

Email: idealities@gmail.com

Features

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