Add alert for when backup has nonzero exit code
This commit is contained in:
parent
6495870e1a
commit
b1e744d1db
2 changed files with 20 additions and 3 deletions
15
backup.sh
15
backup.sh
|
@ -212,8 +212,8 @@ if $MISSING_CONFIGURATION; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ARCHIVE_FILE_NAME=$TIMESTAMP.tar$COMPRESSION_FILE_EXTENSION
|
ARCHIVE_FILE_NAME="$TIMESTAMP.tar$COMPRESSION_FILE_EXTENSION"
|
||||||
ARCHIVE_PATH=$BACKUP_DIRECTORY/$ARCHIVE_FILE_NAME
|
ARCHIVE_PATH="$BACKUP_DIRECTORY/$ARCHIVE_FILE_NAME"
|
||||||
|
|
||||||
# Minecraft server screen interface functions
|
# Minecraft server screen interface functions
|
||||||
message-players () {
|
message-players () {
|
||||||
|
@ -374,6 +374,10 @@ case $COMPRESSION_ALGORITHM in
|
||||||
*) tar -cf - -C "$SERVER_WORLD" . | $COMPRESSION_ALGORITHM -cv -"$COMPRESSION_LEVEL" - > "$ARCHIVE_PATH" 2>> /dev/null
|
*) tar -cf - -C "$SERVER_WORLD" . | $COMPRESSION_ALGORITHM -cv -"$COMPRESSION_LEVEL" - > "$ARCHIVE_PATH" 2>> /dev/null
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
ARCHIVE_EXIT_CODE="$?"
|
||||||
|
if [ $ARCHIVE_EXIT_CODE -ne 0 ]; then
|
||||||
|
log-fatal "Archive command exited with nonzero exit code $ARCHIVE_EXIT_CODE"
|
||||||
|
fi
|
||||||
sync
|
sync
|
||||||
END_TIME=$(date +"%s")
|
END_TIME=$(date +"%s")
|
||||||
|
|
||||||
|
@ -401,10 +405,15 @@ BACKUP_DIRECTORY_SIZE=$(du -h --max-depth=0 "$BACKUP_DIRECTORY" | awk '{print $1
|
||||||
TIME_DELTA=$((END_TIME - START_TIME))
|
TIME_DELTA=$((END_TIME - START_TIME))
|
||||||
|
|
||||||
# Check that archive size is not null and at least 200 Bytes
|
# Check that archive size is not null and at least 200 Bytes
|
||||||
if [[ "$WORLD_SIZE_BYTES" -gt 0 && "$ARCHIVE_SIZE" != "" && "$ARCHIVE_SIZE_BYTES" -gt 200 ]]; then
|
if [[ "$ARCHIVE_EXIT_CODE" -eq 0 && "$WORLD_SIZE_BYTES" -gt 0 && "$ARCHIVE_SIZE" != "" && "$ARCHIVE_SIZE_BYTES" -gt 200 ]]; then
|
||||||
COMPRESSION_PERCENT=$((ARCHIVE_SIZE_BYTES * 100 / WORLD_SIZE_BYTES))
|
COMPRESSION_PERCENT=$((ARCHIVE_SIZE_BYTES * 100 / WORLD_SIZE_BYTES))
|
||||||
message-players-success "Backup complete!" "$TIME_DELTA s, $ARCHIVE_SIZE/$BACKUP_DIRECTORY_SIZE, $COMPRESSION_PERCENT%"
|
message-players-success "Backup complete!" "$TIME_DELTA s, $ARCHIVE_SIZE/$BACKUP_DIRECTORY_SIZE, $COMPRESSION_PERCENT%"
|
||||||
delete-old-backups
|
delete-old-backups
|
||||||
else
|
else
|
||||||
message-players-error "Backup was not saved!" "Please notify an administrator"
|
message-players-error "Backup was not saved!" "Please notify an administrator"
|
||||||
|
if [ "$ARCHIVE_EXIT_CODE" -ne 0 ]; then
|
||||||
|
exit "$ARCHIVE_EXIT_CODE"
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -129,6 +129,14 @@ test-block-size-warning () {
|
||||||
assertContains "$OUTPUT" "is smaller than TOTAL_BLOCK_SIZE"
|
assertContains "$OUTPUT" "is smaller than TOTAL_BLOCK_SIZE"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test-nonzero-exit-warning () {
|
||||||
|
TIMESTAMP="$(date +%F_%H-%M-%S --date="2021-01-01")"
|
||||||
|
OUTPUT="$(./backup.sh -a _BLAH_ -i "$TEST_TMP/server/world" -o "$TEST_TMP/backups" -s "$SCREEN_TMP" -f "$TIMESTAMP" 2>&1)"
|
||||||
|
EXIT_CODE="$?"
|
||||||
|
assertNotEquals 0 "$EXIT_CODE"
|
||||||
|
assertContains "$OUTPUT" "Archive command exited with nonzero exit code"
|
||||||
|
}
|
||||||
|
|
||||||
test-screen-interface () {
|
test-screen-interface () {
|
||||||
TIMESTAMP="$(date +%F_%H-%M-%S --date="2021-01-01")"
|
TIMESTAMP="$(date +%F_%H-%M-%S --date="2021-01-01")"
|
||||||
./backup.sh -i "$TEST_TMP/server/world" -o "$TEST_TMP/backups" -s "$SCREEN_TMP" -f "$TIMESTAMP"
|
./backup.sh -i "$TEST_TMP/server/world" -o "$TEST_TMP/backups" -s "$SCREEN_TMP" -f "$TIMESTAMP"
|
||||||
|
|
Loading…
Add table
Reference in a new issue