This is the script that I use to restore my glpi backups:
restore_glpi_backup.sh:
#! /bin/bash
# restore_glpi_backup.sh
# extract mysql dump to /backups/mysql/uncompressed
echo "deleting any old mysql dumps." # Delete old glpi.sql
rm /backups/mysql/glpi.sql
echo "DONE!"
new=$(ls -t1 /backups/mysql/ | head -1) # find newest file and assign variable(new):
echo "the newest mysqlsump file is: $new"
# gunzip it to /backups/mysql/glpi.sql
echo "extracting $new now!"
gunzip -c /backups/mysql/$new > /backups/mysql/glpi.sql
echo "file extracted successfully"
sleep 5
# Print start status message.
echo "restoring glpi database"
# import dump into db
mysql -u root -pPASSWORD glpi < /backups/mysql/glpi.sql
# Print end status message.
echo "database restore finished!"
sleep 5
# Remove old folder and add datestamp to it
echo "deleting any old glpi folders."
rm -R /backups/www/var
# find newest tar.gz and assign variable untar to it
untar=$(ls -t1 /backups/www/ | head -1)
echo "the most recent backup is $untar"
# untar www folder
tar -xf /backups/www/$untar -C /backups/www/
# move old glpi folder to glpi_old
mv /var/www/html/glpi /var/www/html/glpi_old
# copy folder to /var/www/html/
echo "copying the glpi folder to the web folder"
cp -r /backups/www/var/www/html/glpi /var/www/html/
echo "glpi folder copied sucessfully"
# change permissions on folder
echo "changing web folder permissions"
sudo chown -R www-data:www-data /var/www/html/glpi
echo "DONE!"
sudo service apache2 restart
echo "GLPI has now been restored to its latest backup."