Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions scripts/ghe-backup-all → scripts/ghe-backup
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ set -e
cd $(dirname "$0")/..
. scripts/ghe-backup-config

echo ""
echo "Note that your SSH key needs to be setup on the new host as described in:"
echo "* https://enterprise.github.com/help/articles/backing-up-enterprise-data"
echo ""

# Snapshot all git repository data
echo "Backing up git repository data ..." 1>&2
ssh admin@"$GHE_HOSTNAME" -- 'ghe-export-repositories' > "$GHE_DATA_DIR"/ghe-repositories-backup.tar
Expand Down
Empty file modified scripts/ghe-backup-config
100644 → 100755
Empty file.
35 changes: 35 additions & 0 deletions scripts/ghe-restore
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/sh
# Usage: ghe-restore
# Restores a GHE instance from backups
set -e

# Bring in the backup configuration
cd $(dirname "$0")/..
. scripts/ghe-backup-config

echo ""
echo "Using the files in $GHE_DATA_DIR to restore your GHE installation at $GHE_RESTORE_HOST"
echo "Note that your SSH key needs to be setup on the new host as described in:"
echo "* https://enterprise.github.com/help/articles/restoring-enterprise-data"
echo ""

echo "Restoring git repository data ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-repositories' < $GHE_DATA_DIR/ghe-repositories-backup.tar

echo "Restoring GitHub Pages data ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-pages' < $GHE_DATA_DIR/ghe-pages-backup.tar

echo "Restoring mysql data ..." 1>&2
gzip -dc $GHE_DATA_DIR/ghe-mysql-backup.sql.gz | ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-mysql'

echo "Restoring redis data ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-redis' < $GHE_DATA_DIR/ghe-redis-backup.rdb

echo "Restoring authorized keys ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-authorized-keys' < $GHE_DATA_DIR/ghe-authorized-keys-backup.json

echo "Restoring SSH host keys ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-ssh-host-keys' < $GHE_DATA_DIR/ghe-ssh-host-keys-backup.tar

echo "Restoring ES indices ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-es-indices' < $GHE_DATA_DIR/ghe-es-indices-backup.tar
2 changes: 1 addition & 1 deletion scripts/ghe-s3-backup
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ else
fi

# Run the backup script
scripts/ghe-backup-all
scripts/ghe-backup

# Create the bucket if it doesn't exist
s3cmd mb s3://$GHE_S3_BUCKET
Expand Down
28 changes: 2 additions & 26 deletions scripts/ghe-s3-restore
Original file line number Diff line number Diff line change
Expand Up @@ -17,29 +17,5 @@ fi
# Restore from S3
s3cmd --preserve get s3://$GHE_S3_BUCKET/* $GHE_DATA_DIR

echo ""
echo "Using the files in $GHE_DATA_DIR to restore your GHE installation at $GHE_RESTORE_HOST"
echo "Note that your SSH key needs to be setup on the new host as described in:"
echo "* https://enterprise.github.com/help/articles/restoring-enterprise-data"
echo ""

echo "Restoring git repository data ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-repositories' < $GHE_DATA_DIR/ghe-repositories-backup.tar

echo "Restoring GitHub Pages data ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-pages' < $GHE_DATA_DIR/ghe-pages-backup.tar

echo "Restoring mysql data ..." 1>&2
gzip -dc $GHE_DATA_DIR/ghe-mysql-backup.sql.gz | ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-mysql'

echo "Restoring redis data ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-redis' < $GHE_DATA_DIR/ghe-redis-backup.rdb

echo "Restoring authorized keys ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-authorized-keys' < $GHE_DATA_DIR/ghe-authorized-keys-backup.json

echo "Restoring SSH host keys ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-ssh-host-keys' < $GHE_DATA_DIR/ghe-ssh-host-keys-backup.tar

echo "Restoring ES indices ..." 1>&2
ssh admin@$GHE_RESTORE_HOST -- 'ghe-import-es-indices' < $GHE_DATA_DIR/ghe-es-indices-backup.tar
# Run the restore script
scripts/ghe-restore