Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- BACKUP_DIR=""
- for DIR in $(find /home/$USER/ -type d -name 'Backup-*')
- do
- FILE_DATE=${DIR: -10}
- if [[ ! $DIR == "/home/$USER/Backup-$FILE_DATE" || ! $FILE_DATE =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]
- then
- continue
- fi
- if [[ $BACKUP_DIR == "" || ${BACKUP_DIR: -10} < $FILE_DATE ]]
- then
- BACKUP_DIR=$DIR
- fi
- done
- if [[ $BACKUP_DIR == "" ]]
- then
- echo "No backup found"
- exit
- fi
- if [[ ! -d /home/$USER/restore ]]
- then
- mkdir /home/$USER/restore
- fi
- for file in $(find $BACKUP_DIR/*)
- do
- FILE_NAME=${file#$BACKUP_DIR/}
- FILE_NAME_ONLY=$(echo $FILE_NAME | awk -F/ '{print $NF}')
- FILE_PATH=${FILE_NAME%$FILE_NAME_ONLY}
- if [[ $FILE_NAME =~ .[0-9]{4}-[0-9]{2}-[0-9]{2} ]]
- then
- continue
- fi
- echo $file
- if [[ -f $file ]]
- then
- cp $file /home/$USER/restore/$FILE_PATH
- else
- mkdir /home/$USER/restore/$FILE_NAME
- fi
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement