grok-pull - Man Page

Clone or update local git repositories


grok-pull -c /path/to/repos.conf


This utility runs from a cronjob and downloads the latest manifest from the grokmirror master. If there are new repositories or changes in the existing repositories, grok-pull will perform the necessary git commands to clone or fetch the required data from the master.

At the end of its run, grok-pull will generate its own manifest file, which can then be used for further mirroring.



show program's version number and exit

-h, --help

show this help message and exit

-v, --verbose

Be verbose and tell us what you are doing

-n, --no-mtime-check

Run without checking manifest mtime.

-f, --force

Force full git update regardless of last-modified times. Also useful when repos.conf has changed.

-p, --purge

Remove any git trees that are no longer in manifest.

-y, --pretty

Pretty-print the generated manifest (sort repos and add indentation). This is much slower, so should be used with caution on large collections.

-r, --no-reuse-existing-repos

If any existing repositories are found on disk, do NOT set new remote origin and reuse, just skip them entirely

-m, --verify-mirror

Do not perform any updates, just verify that mirror matches upstream manifest.

-s SUBPATH--verify-subpath=SUBPATH

Only verify a subpath (accepts shell globbing)

-c CONFIG--config=CONFIG

Location of repos.conf


Locate repos.conf and modify it to reflect your needs. The default configuration file is heavily commented.

Add a cronjob to run as frequently as you like. For example, add the following to /etc/cron.d/grokmirror.cron:

# Run grok-pull every minute as user "mirror"
* * * * * mirror /usr/bin/grok-pull -p -c /etc/grokmirror/repos.conf

Make sure the user "mirror" (or whichever user you specified) is able to write to the toplevel, log and lock locations specified in repos.conf.

See Also


Please open an issue on Github:


License: GPLv3+

Referenced By

grok-dumb-pull(1), grok-fsck(1), grok-manifest(1).

2019-02-14 1.2.0