Skip to content

Commit 44cba22

Browse files
boxofyellowdooleydevin
authored andcommitted
Manual backport of #348 - resolved conflict
1 parent f532b2e commit 44cba22

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

share/github-backup-utils/ghe-backup-mssql

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,18 @@ add_minute() {
3838
# Expect date string in the format of yyyymmddTHHMMSS
3939
# Here parse date differently depending on GNU Linux vs BSD MacOS
4040
if date -v -1d > /dev/null 2>&1; then
41-
echo "$(date -v +$2M -ujf'%Y%m%dT%H%M%S' $1 +%Y%m%dT%H%M%S)"
41+
date -v +"$2"M -ujf'%Y%m%dT%H%M%S' "$1" +%Y%m%dT%H%M%S
4242
else
4343
dt=$1
44-
echo "$(date -u '+%Y%m%dT%H%M%S' -d "${dt:0:8} ${dt:9:2}:${dt:11:2}:${dt:13:2} $2 minutes")"
44+
date -u '+%Y%m%dT%H%M%S' -d "${dt:0:8} ${dt:9:2}:${dt:11:2}:${dt:13:2} $2 minutes"
4545
fi
4646
}
4747

4848
find_timestamp() {
4949
filename="${1##*/}"
5050
IFS='@' read -ra parts <<< "$filename"
5151
datetime_part=${parts[1]:0:15}
52-
echo $datetime_part
52+
echo "$datetime_part"
5353
}
5454

5555
actions_dbs() {
@@ -98,7 +98,7 @@ get_latest_backup_file() {
9898
db=$2
9999
ext=$3
100100

101-
latest_full_backup=$(find "$backups_dir" -type f -name "$db*.$ext" | egrep '[0-9]{8}T[0-9]{6}' | sort | tail -n 1)
101+
latest_full_backup=$(find "$backups_dir" -type f -name "$db*.$ext" | grep -E '[0-9]{8}T[0-9]{6}' | sort | tail -n 1)
102102
latest_full_backup_file="${latest_full_backup##*/}"
103103
echo "$latest_full_backup_file"
104104
}
@@ -146,8 +146,8 @@ get_next_diff_backup_base_lsn() {
146146

147147
last_mssql=$GHE_DATA_DIR/current/mssql
148148

149-
if [ ! -d $last_mssql ] \
150-
|| [ -z "$(find $last_mssql -type f -name '*.bak' | head -n 1)" ]; then
149+
if [ ! -d "$last_mssql" ] \
150+
|| [ -z "$(find "$last_mssql" -type f -name '*.bak' | head -n 1)" ]; then
151151
ghe_verbose "Taking first full backup"
152152
backup_type="full"
153153
else
@@ -159,34 +159,34 @@ else
159159
current=$(date -u +%Y%m%d%H%M%S)
160160

161161
full=$(find "$last_mssql" -type f -name "*.bak" | head -n 1)
162-
full=$(find_timestamp $full)
163-
full_expire=$(add_minute $full ${cadence[0]})
162+
full=$(find_timestamp "$full")
163+
full_expire=$(add_minute "$full" "${cadence[0]}")
164164
full_expire="${full_expire//T}"
165165

166166
diff=$(find "$last_mssql" -type f -name "*.diff" | head -n 1)
167167
if [ -f "$diff" ]; then
168-
diff=$(find_timestamp $diff)
169-
diff_expire=$(add_minute $diff ${cadence[1]})
168+
diff=$(find_timestamp "$diff")
169+
diff_expire=$(add_minute "$diff" "${cadence[1]}")
170170
diff_expire="${diff_expire//T}"
171171
else
172-
diff_expire=$(add_minute $full ${cadence[1]})
172+
diff_expire=$(add_minute "$full" "${cadence[1]}")
173173
diff_expire="${diff_expire//T}"
174174
fi
175175

176-
tran=$(find "$last_mssql" -type f -name "*.log" | egrep '[0-9]{8}T[0-9]{6}' | sort | tail -1)
177-
tran=$(find_timestamp $tran)
178-
tran_expire=$(add_minute $tran ${cadence[2]})
176+
tran=$(find "$last_mssql" -type f -name "*.log" | grep -E '[0-9]{8}T[0-9]{6}' | sort | tail -1)
177+
tran=$(find_timestamp "$tran")
178+
tran_expire=$(add_minute "$tran" "${cadence[2]}")
179179
tran_expire="${tran_expire//T}"
180180

181181
ghe_verbose "current $current, full expire $full_expire, \
182182
diff expire $diff_expire, tran expire $tran_expire"
183183

184184
# Determine the type of backup to take based on expiry time
185-
if [ $current -gt $full_expire ]; then
185+
if [ "$current" -gt "$full_expire" ]; then
186186
backup_type='full'
187-
elif [ $current -gt $diff_expire ]; then
187+
elif [ "$current" -gt "$diff_expire" ]; then
188188
backup_type='diff'
189-
elif [ $current -gt $tran_expire ]; then
189+
elif [ "$current" -gt "$tran_expire" ]; then
190190
backup_type='transaction'
191191
fi
192192

@@ -264,8 +264,8 @@ fi
264264
mkdir -p "$backup_dir"
265265

266266
# Use hard links to "copy" over previous applicable backups to the new snapshot folder to save disk space and time
267-
if [ -d $last_mssql ]; then
268-
for p in $last_mssql/*
267+
if [ -d "$last_mssql" ]; then
268+
for p in "$last_mssql"/*
269269
do
270270
[[ -e "$p" ]] || break
271271

@@ -274,23 +274,23 @@ if [ -d $last_mssql ]; then
274274
transfer=
275275

276276
# Copy full backups unless we're taking a new full backup
277-
if [ $extension = "bak" ] && [ "$backup_type" != 'full' ]; then
277+
if [ "$extension" = "bak" ] && [ "$backup_type" != 'full' ]; then
278278
transfer=1
279279
fi
280280

281281
# Copy diff backups unless we're taking a new full or diff backup
282-
if [ $extension = "diff" ] && [ "$backup_type" != 'full' ] && [ "$backup_type" != 'diff' ]; then
282+
if [ "$extension" = "diff" ] && [ "$backup_type" != 'full' ] && [ "$backup_type" != 'diff' ]; then
283283
transfer=1
284284
fi
285285

286286
# Copy transaction log backups unless we're taking a new full or diff backup
287-
if [ $extension = "log" ] && [ "$backup_type" != 'full' ] && [ "$backup_type" != 'diff' ]; then
287+
if [ "$extension" = "log" ] && [ "$backup_type" != 'full' ] && [ "$backup_type" != 'diff' ]; then
288288
transfer=1
289289
fi
290290

291291
if [ -n "$transfer" ]; then
292292
ghe_verbose "Creating hard link to $filename"
293-
ln $last_mssql/$filename $backup_dir/$filename
293+
ln "$last_mssql"/"$filename" "$backup_dir"/"$filename"
294294
fi
295295
done
296296
fi
@@ -305,9 +305,9 @@ if [ -n "$backup_type" ]; then
305305
backup_command='ghe-export-mssql -t'
306306
fi
307307

308-
bm_start "$(basename $0)"
309-
ghe-ssh "$GHE_HOSTNAME" -- "$backup_command" || failures="$failures mssql"
310-
bm_end "$(basename $0)"
308+
bm_start "$(basename "$0")"
309+
ghe-ssh "$GHE_HOSTNAME" -- "$backup_command"
310+
bm_end "$(basename "$0")"
311311

312312
# Configure the backup cadence on the appliance, which is used for diagnostics
313313
ghe-ssh "$GHE_HOSTNAME" "ghe-config mssql.backup.cadence $GHE_MSSQL_BACKUP_CADENCE"
@@ -319,6 +319,6 @@ if [ -n "$backup_type" ]; then
319319
for b in $backups
320320
do
321321
ghe_verbose "Transferring to backup host $b"
322-
ghe-ssh "$GHE_HOSTNAME" "sudo cat $appliance_dir/$b" > $backup_dir/$b
322+
ghe-ssh "$GHE_HOSTNAME" "sudo cat $appliance_dir/$b" > "$backup_dir"/"$b"
323323
done
324324
fi

0 commit comments

Comments
 (0)