github-backup
is a simple shellscript that uses the
Git::Megapull CPAN
module to backup all the GitHub repositories of one or more Unix users
on your system.
This backup script depends on the Git::Megapull CPAN module (version 0.101750 or later) to do its work. To install it do:
cpanm -S Git::Megapull
To install this program arrange for it to be unpacked in your /etc
,
you can do this by checking it out from git:
cd /etc
sudo git clone git://github.com/avar/github-backup.git
Or if your /etc
itself is in git (as mine is) you can add it as a
submodule:
cd /etc
sudo git submodule add git://github.com/avar/github-backup.git github-backup
git commit -m"Add github-backup submodule"
To run github-backup
periodically simply run it via cron(8)
. On
systems which have configured /etc/cron.daily
directory simply do:
sudo ln -s /etc/github-backup/github-backup /etc/cron.daily/github-backup
If you've just created a user avar
on your system and want to back
up his GitHub repositories you should first. set the GitHub
token for that user, then
as the root
user do:
# . /etc/github-backup/github-backup.conf
# cd $GITHUB_BACKUP_DIRECTORY
# mkdir avar
# chown avar avar
And you're done, github-backup
will run the equivalent of sudo -u avar -H git config github.token
to grab the token for avar
and
backup all of his repositories.
Please report any to the github-backup issue tracker on GitHub.
Ævar Arnfjörð Bjarmason [email protected]