You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ifecho"$output"| grep -i "port 22: Network is unreachable\|port 22: connection refused\|port 22: no route to host\|ssh_exchange_identification: Connection closed by remote host\|Connection timed out during banner exchange\|port 22: Connection timed out">/dev/null;then
65
+
exec"$(basename $0)""$hostname:122"
66
+
fi
67
+
68
+
echo"$output"1>&2
69
+
echo"Error: ssh connection with '$host' failed"1>&2
70
+
echo"Note that your SSH key needs to be setup on $host as described in:"1>&2
Copy file name to clipboardExpand all lines: docs/faq.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,4 +19,11 @@ snapshots of all major datastores. These snapshots are used to restore an instan
19
19
to a prior state or set up a new instance without having another always-on GitHub
20
20
Enterprise instance (like the High Availability replica).
21
21
22
+
### Does taking or restoring a backup impact the GitHub Enterprise Server's performance or operation?
23
+
24
+
Git background maintenance and garbage collection jobs become paused during the repositories stage of a backup and restore, and the storage stage of a backup. This may result in a backlog of queued maintenance or storage jobs observable in the GitHub Enterprise Server metrics for the duration of those steps. We suggest allowing any backlog to process and drain to 0 before starting another backup run. Repositories that are frequently pushed to may experience performance degradation over time if queued maintenance jobs are not processed.
25
+
26
+
Backup processes triggered by `backup-utils` running on the GitHub Enterprise Server instance run at a low CPU and IO priority to reduce any user facing impact. You may observe elevated levels of CPU usage, disk IO, and network IO for the duration of a backup run.
Copy file name to clipboardExpand all lines: docs/requirements.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,6 +63,12 @@ be running GitHub Enterprise Server 2.12.x or 2.13.x. You can't restore a snapsh
63
63
64
64
**Note**: You _cannot_ restore a backup created from a newer verison of GitHub Enterprise Server to an older version. For example, an attempt to restore a snapshot of GitHub Enterprise Server 2.21 to a GitHub Enterprise Server 2.20 environment will fail with an error of `Error: Snapshot can not be restored to an older release of GitHub Enterprise Server.`.
65
65
66
+
## Multiple backup hosts
67
+
68
+
Using multiple backup hosts or backup configurations is not currently recommended.
69
+
70
+
Due to how some components of Backup Utiltiies (e.g. MSSQL) take incremental backups, running another instance of Backup Utilities may result in unrestorable snapshots as data may be split across backup hosts. If you still wish to have multiple instances of Backup Utilties for redundancy purposes or to run at different frequencies, ensure that they share the same `GHE_DATA_DIR` backup directory.
if [[ "$next_diff_backup_base_lsn"="NULL" ]] || [[ "$next_diff_backup_base_lsn"=="" ]];then
217
+
ghe_verbose "Taking a full backup instead of a $backup_type backup because for $db the base LSN for the next diff backup couldn't be determined"
218
+
backup_type="full"
219
+
break
220
+
fi
221
+
222
+
# The base of the diff backup we're about to take must exactly match the checkpoint LSN of the full backup file we have
223
+
if [[ "$next_diff_backup_base_lsn"-ne"$full_backup_file_checkpoint_lsn" ]];then
224
+
ghe_verbose "Taking a full backup instead of a $backup_type backup because for $db the diff would have base LSN $next_diff_backup_base_lsn yet our full backup has checkpoint LSN $full_backup_file_checkpoint_lsn"
225
+
backup_type="full"
226
+
break
227
+
fi
228
+
fi
229
+
230
+
# Ensure that a transaction log backup will immediately follow the previous one
if [[ "$next_log_backup_starting_lsn"="NULL" ]] || [[ "$next_log_backup_starting_lsn"=="" ]];then
247
+
ghe_verbose "Taking a full backup instead of a $backup_type backup because for $db the starting LSN for the next log backup couldn't be determined"
248
+
backup_type="full"
249
+
break
250
+
fi
251
+
252
+
# The starting LSN of the backup we're about to take must be equal to (or before) the last LSN from the last backup,
253
+
# otherwise there'll be a gap and the logfiles won't be restorable
254
+
if [[ "$next_log_backup_starting_lsn"-gt"$latest_log_backup_last_lsn" ]];then
255
+
ghe_verbose "Taking a full backup instead of a $backup_type backup because for $db a gap would exist between the last backup ending at LSN $latest_log_backup_last_lsn and next backup starting at $next_log_backup_starting_lsn"
256
+
backup_type="full"
257
+
break
258
+
fi
259
+
done
260
+
fi
144
261
fi
145
262
146
263
# Make sure root backup dir exists if this is the first run
147
264
mkdir -p "$backup_dir"
148
265
149
-
#Create hard links to save disk space and time
266
+
#Use hard links to "copy" over previous applicable backups to the new snapshot folder to save disk space and time
150
267
if [ -d$last_mssql ];then
151
268
forpin$last_mssql/*
152
269
do
@@ -156,15 +273,18 @@ if [ -d $last_mssql ]; then
156
273
extension="${filename##*.}"
157
274
transfer=
158
275
159
-
if [ $extension="bak" ] && [ -z$take_full ];then
276
+
# Copy full backups unless we're taking a new full backup
277
+
if [ $extension="bak" ] && [ "$backup_type"!='full' ];then
0 commit comments