Skip to content

Commit 9158ebf

Browse files
committed
Use ssh forwarding to connect to appliances other than GHE_RESTORE_HOST
1 parent 863e09e commit 9158ebf

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

share/github-backup-utils/ghe-restore-mysql

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,16 @@ is_binary_backup_feature_on(){
3838
ghe-ssh "$GHE_HOSTNAME" ghe-config --true "mysql.backup.binary"
3939
}
4040

41-
if ghe-ssh "$GHE_HOSTNAME" test -f /etc/github/cluster ; then
41+
ssh_config_file_opt=""
42+
if $CLUSTER ; then
4243
ghe_mysql_master=$(ghe-ssh "$GHE_HOSTNAME" ghe-config "cluster.mysql-master")
4344
if [ -z $ghe_mysql_master ]; then
4445
ghe_mysql_master=$GHE_HOSTNAME
4546
else
47+
ssh_config_file="$tempdir/ssh_config"
48+
ssh_config_file_opt="-F $ssh_config_file"
49+
opts="$opts -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o PasswordAuthentication=no"
50+
ghe-ssh-config "$GHE_HOSTNAME" "$ghe_mysql_master" > "$ssh_config_file"
4651
port=$(ssh_port_part "$GHE_HOSTNAME")
4752
ghe_mysql_master=$ghe_mysql_master${port:+:$port}
4853
fi
@@ -79,16 +84,16 @@ else
7984
fi
8085

8186
cleanup() {
82-
ghe-ssh "$GHE_RESTORE_HOST" -- "sudo rm -rf $GHE_REMOTE_DATA_USER_DIR/tmp/mysql.sql.gz"
87+
ghe-ssh $ssh_config_file_opt "$GHE_RESTORE_HOST" -- "sudo rm -rf $GHE_REMOTE_DATA_USER_DIR/tmp/mysql.sql.gz"
8388
}
8489
trap 'cleanup' INT TERM EXIT
8590

86-
ghe-ssh "$GHE_RESTORE_HOST" -- "sudo mkdir -p '$GHE_REMOTE_DATA_USER_DIR/tmp'" 1>&3
91+
ghe-ssh $ssh_config_file_opt "$GHE_RESTORE_HOST" -- "sudo mkdir -p '$GHE_REMOTE_DATA_USER_DIR/tmp'" 1>&3
8792

8893
# Transfer MySQL data from the snapshot to the GitHub instance.
89-
cat $snapshot_dir/mysql.sql.gz | ghe-ssh "$GHE_RESTORE_HOST" -- "sudo dd of=$GHE_REMOTE_DATA_USER_DIR/tmp/mysql.sql.gz >/dev/null 2>&1"
94+
cat $snapshot_dir/mysql.sql.gz | ghe-ssh $ssh_config_file_opt "$GHE_RESTORE_HOST" -- "sudo dd of=$GHE_REMOTE_DATA_USER_DIR/tmp/mysql.sql.gz >/dev/null 2>&1"
9095

9196
# Import the database
92-
echo "cat $GHE_REMOTE_DATA_USER_DIR/tmp/mysql.sql.gz | $IMPORT_MYSQL" | ghe-ssh "$GHE_RESTORE_HOST" -- /bin/bash 1>&3
97+
echo "cat $GHE_REMOTE_DATA_USER_DIR/tmp/mysql.sql.gz | $IMPORT_MYSQL" | ghe-ssh $ssh_config_file_opt "$GHE_RESTORE_HOST" -- /bin/bash 1>&3
9398

9499
bm_end "$(basename $0)"

0 commit comments

Comments
 (0)