Backup files $SOURCES & keep last $COPIES into $DESTINATION folder
#!/usr/bin/env bash
COPIES=3
DESTINATION=.
SOURCES="/var/log/apt /var/log/kern.log"
EXTENSION=tar.gz
FILENAME=backup
DATE=$(date +'%Y-%M-%dT%H%M%S')
# compress files
tar -czf $DESTINATION/$FILENAME-$DATE.$EXTENSION $SOURCES
# delete old backups
CURRENT_COPIES=$(ls -1 $DESTINATION | grep -i $FILENAME- | wc -l)
if [ "$CURRENT_COPIES" -ge "$COPIES" ]
then
echo "deleting old backups..."
ls -pt -1 $DESTINATION | grep -i $FILENAME- | grep -v / | tail -n "$(($CURRENT_COPIES - $COPIES))" | xargs rm --
fi
# ls -lt