From ce1e5fa342e213e09774d0518849b8e6322a826c Mon Sep 17 00:00:00 2001 From: "Crank, Daniel (dc6350)" Date: Thu, 6 Jun 2019 17:14:36 -0500 Subject: [PATCH] Fixes to etcd backup script 1. Fix directory listing used to identify newest backup file to be archived (was sometimes archiving files twice; e.g., a.tar.gz.tar.gz) 2. Fix directory listings used to identify and clean up old backups Change-Id: Icb1ddd96613f4ab6a28c4f617001c336951568bc --- charts/etcd/templates/bin/_etcdbackup.tpl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/charts/etcd/templates/bin/_etcdbackup.tpl b/charts/etcd/templates/bin/_etcdbackup.tpl index 2531d68e..5b48eaca 100644 --- a/charts/etcd/templates/bin/_etcdbackup.tpl +++ b/charts/etcd/templates/bin/_etcdbackup.tpl @@ -28,19 +28,19 @@ etcdbackup() { echo "There was an error backing up the databases. Return code was $BACKUP_RETURN_CODE." exit $BACKUP_RETURN_CODE fi - LATEST_BACKUP=`ls -t $BACKUP_DIR | head -1` + LATEST_BACKUP=`ls -t1 $BACKUP_DIR | grep $BACKUP_FILE_NAME | head -1` echo "Archiving $LATEST_BACKUP..." cd $BACKUP_DIR tar -czf $BACKUP_DIR/$LATEST_BACKUP.tar.gz $LATEST_BACKUP rm -rf $LATEST_BACKUP echo "Clearing earliest backups..." - NUM_LOCAL_BACKUPS=`ls -ld $BACKUP_DIR | wc -l` + NUM_LOCAL_BACKUPS=`ls -1 $BACKUP_DIR | grep $BACKUP_FILE_NAME | wc -l` while [ $NUM_LOCAL_BACKUPS -gt $NUM_TO_KEEP ] do - EARLIEST_BACKUP=`ls -tr $BACKUP_DIR | head -1` + EARLIEST_BACKUP=`ls -tr1 $BACKUP_DIR | grep $BACKUP_FILE_NAME | head -1` echo "Deleting $EARLIEST_BACKUP..." rm -rf "$BACKUP_DIR/$EARLIEST_BACKUP" - NUM_LOCAL_BACKUPS=`ls -ld $BACKUP_DIR | wc -l` + NUM_LOCAL_BACKUPS=`ls -1 $BACKUP_DIR | grep $BACKUP_FILE_NAME | wc -l` done } @@ -54,7 +54,7 @@ if [ ! -d "$BACKUP_DIR" ]; then SKIP_BACKUP=1 fi -if [ $SKIP_BACKUP == '0' ]; then +if [ $SKIP_BACKUP -eq 0 ]; then etcdbackup else echo "Error: etcd backup failed."