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
This commit is contained in:
parent
3155a3824d
commit
ce1e5fa342
|
@ -28,19 +28,19 @@ etcdbackup() {
|
||||||
echo "There was an error backing up the databases. Return code was $BACKUP_RETURN_CODE."
|
echo "There was an error backing up the databases. Return code was $BACKUP_RETURN_CODE."
|
||||||
exit $BACKUP_RETURN_CODE
|
exit $BACKUP_RETURN_CODE
|
||||||
fi
|
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..."
|
echo "Archiving $LATEST_BACKUP..."
|
||||||
cd $BACKUP_DIR
|
cd $BACKUP_DIR
|
||||||
tar -czf $BACKUP_DIR/$LATEST_BACKUP.tar.gz $LATEST_BACKUP
|
tar -czf $BACKUP_DIR/$LATEST_BACKUP.tar.gz $LATEST_BACKUP
|
||||||
rm -rf $LATEST_BACKUP
|
rm -rf $LATEST_BACKUP
|
||||||
echo "Clearing earliest backups..."
|
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 ]
|
while [ $NUM_LOCAL_BACKUPS -gt $NUM_TO_KEEP ]
|
||||||
do
|
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..."
|
echo "Deleting $EARLIEST_BACKUP..."
|
||||||
rm -rf "$BACKUP_DIR/$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
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ if [ ! -d "$BACKUP_DIR" ]; then
|
||||||
SKIP_BACKUP=1
|
SKIP_BACKUP=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $SKIP_BACKUP == '0' ]; then
|
if [ $SKIP_BACKUP -eq 0 ]; then
|
||||||
etcdbackup
|
etcdbackup
|
||||||
else
|
else
|
||||||
echo "Error: etcd backup failed."
|
echo "Error: etcd backup failed."
|
||||||
|
|
Loading…
Reference in New Issue