summaryrefslogtreecommitdiff
path: root/gemini/posts
diff options
context:
space:
mode:
Diffstat (limited to 'gemini/posts')
-rw-r--r--gemini/posts/git/2021-06-13/backing-up-a-git-repository/index.gmi53
-rw-r--r--gemini/posts/git/index.gmi1
-rw-r--r--gemini/posts/index.gmi4
3 files changed, 58 insertions, 0 deletions
diff --git a/gemini/posts/git/2021-06-13/backing-up-a-git-repository/index.gmi b/gemini/posts/git/2021-06-13/backing-up-a-git-repository/index.gmi
new file mode 100644
index 0000000..6d0a54b
--- /dev/null
+++ b/gemini/posts/git/2021-06-13/backing-up-a-git-repository/index.gmi
@@ -0,0 +1,53 @@
+# 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.
+
+```shell
+#!/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.
+
+```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
+
+=> /posts/git/2021-05-29/setting-up-a-self-host-git-server/ 2021-05-29 - Setting up a Self Hosted Git Server
+
+=> /posts/git/ Git - 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.
+
+=> mailto:david@davidtsadler.com Email david@davidtsadler.com
+
+### License
+
+=> https://creativecommons.org/licenses/by-sa/4.0/ 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.
diff --git a/gemini/posts/git/index.gmi b/gemini/posts/git/index.gmi
index 67bc17d..c19ecd7 100644
--- a/gemini/posts/git/index.gmi
+++ b/gemini/posts/git/index.gmi
@@ -1,5 +1,6 @@
# The Home of David T. Sadler - All Posts About Git
+=> /posts/git/2021-06-13/backing-up-a-git-repository/ 2021-06-13 - Backing Up a Git Repository
=> /posts/git/2021-05-29/setting-up-a-self-host-git-server/ 2021-05-29 - Setting up a Self Hosted Git Server
### License
diff --git a/gemini/posts/index.gmi b/gemini/posts/index.gmi
index 6c7b683..7667661 100644
--- a/gemini/posts/index.gmi
+++ b/gemini/posts/index.gmi
@@ -1,5 +1,9 @@
# The Home of David T. Sadler - All Posts
+=> /posts/git/2021-06-13/backing-up-a-git-repository/ 2021-06-13 - Backing Up a Git Repository
+=> /posts/linux/2021-06-05/xrandr-failed-to-get-size-of-gamma-for-output-default/ 2021-06-05 - Xrandr: Failed to Get Size of Gamma for Output Default
+=> /posts/git/2021-05-29/setting-up-a-self-host-git-server/ 2021-05-29 - Setting up a Self Hosted Git Server
+=> /posts/letsencrypt/2021-05-28/pre-and-post-validation-hooks-with-certbot/ 2021-05-28 - Pre and Post Validation Hooks with Certbot
=> /posts/letsencrypt/2021-05-27/wildcard-certificates-with-lets-encrypt/ 2021-05-27 - Wildcard Certificates with Let's Encrypt
=> /posts/nextcloud/2021-02-15/accessing-nextcloud-with-webdav-on-arch/ 2021-02-15 - Accessing Nextcloud With WebDAV on Arch
=> /posts/gemini/2021-02-08/how-to-host-your-own-gemini-site-in-the-cloud/ 2021-02-08 - How to Host Your Own Gemini Site in the Cloud