Automatic git backup script for multiple repositories
This is a script for backing up multiple git repos, keeping local timestamped copies of all available branches.
- Save state of all remote branches into local branches by current date/time
- Keep track of backed up repositories, automatic batch backup of all known repos
- Configure repository “indices”
- Scan servers for git repos to auto-add them (using ssh find)
- Scan github user for repos to auto-add them
How to use
# Add new repo to backup list manually gickup addrepo ssh://email@example.com gickup addrepo https://github.com/user/example.git gickup addrepo /some/local/path # Optionally specify a target directory gickup addrepo ssh://firstname.lastname@example.org /target/dir # Add github users / ssh server to watch for new repos gickup addindex --type github user gickup addindex github://anotheruser gickup addindex email@example.com:remote/path # Then scan for unknown repos gickup updaterepolist ... # Or scan without configuring gickup updaterepolist --type github user ... gickup updaterepolist firstname.lastname@example.org:remote/path ... # Now do a backup of all known repos gickup dobackup # ... or a specific one gickup dobackup /local/backup/path
- formatstring used to save remote branches into (backup/<date>/<name>)
- directory where backups will be located by default
- configured repos and respective backup directories
- tuples of server-url (with user part) and server-path which will be scanned for new repos by updaterepolist.
- a list of github usernames which will be scanned for new repos by updaterepolist.
Well, every project needs a name and https://github.com/sciunto-org/gitbackup beat me to the obvious one.
On this occasion: Thank you to the one who gave me the suggestion.
Gickup is licensed under the AGPLv3 or later, see LICENSE.txt.
Apart from that I’m open to discussion. If you need a different license feel free to contact me.