From 81d1cb4f38a12b27b92fcccf182c3e4fd05c9271 Mon Sep 17 00:00:00 2001 From: "David T. Sadler" Date: Sun, 13 Jun 2021 22:48:53 +0100 Subject: Add Backing Up a Git Repository --- .../backing-up-a-git-repository/index.html | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 www/posts/git/2021-06-13/backing-up-a-git-repository/index.html (limited to 'www/posts/git/2021-06-13') diff --git a/www/posts/git/2021-06-13/backing-up-a-git-repository/index.html b/www/posts/git/2021-06-13/backing-up-a-git-repository/index.html new file mode 100644 index 0000000..4c0c090 --- /dev/null +++ b/www/posts/git/2021-06-13/backing-up-a-git-repository/index.html @@ -0,0 +1,41 @@ + + + + + + Backing Up a Git Repository + + + + + + + + + + + + + + +

Backing Up a Git Repository

Sun 13th June 2021 By David T. Sadler.

Below is a quick and dirty way in which I backup all my repositories that are hosted at git.davidtsadler.com.

#!/bin/sh
+
+DATE_PREFIX=$(date +%Y%m%d)
+
+BACKUP_DIRECTORY=/tmp
+
+BACKUP_FILE="${BACKUP_DIRECTORY}/${DATE_PREFIX}-repositories.tar.gz"
+
+BACKUP_FILES="${BACKUP_DIRECTORY}/*-repositories.tar.gz"
+
+REPOSITORIES=/home/git/*.git
+
+tar -czf $BACKUP_FILE $REPOSITORIES
+
+find $BACKUP_FILES -mtime +3 -delete
+
+exit 0

All it does it tar and gzip any .git directories found under /home/git. It also removes any backups that are more than three days old.

This script has been saved as /usr/bin/backup_repositories and is ran daily via cron.

0 3 * * * /usr/bin/backup_repositories > /dev/null 2>&1

It is important to know that this backup strategy is far from ideal for repositories that are heavily used as you run the high risk of trying to backup a repository as users are pushing to it. As git updates a repository in two phases this will lead to a backup that may not contain all the data and so won't be suitable for restoring. However its fine for my purposes since I'm the only user and it's unlikely that I will be making changes during the time the backup is running.

Links

2021-05-29 - Setting up a Self Hosted Git ServerGit - Read More Posts.

I don't have comments as I don't want to manage them. You can however contact me at the below address if you want to.

Email david@davidtsadler.com

License

The contents of this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Copyright © 2021 David T. Sadler.

Return to Homepage.
+ + + + -- cgit v1.2.3-13-gbd6f