55 lines
1.7 KiB
Bash
55 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "Please run as root"
|
|
exit
|
|
fi
|
|
|
|
PURPLE='\033[35m'
|
|
BLUE='\033[34m'
|
|
BOLD='\033[1m'
|
|
RESET='\033[0m'
|
|
|
|
echo -e "${PURPLE}${BOLD}Import a backup ? (y/N) ${RESET}"
|
|
read answer
|
|
if [[ "$answer" == "y" ]]; then
|
|
|
|
username=$(getent passwd 1001 | cut -d: -f1)
|
|
|
|
echo -e "${PURPLE}${BOLD}Did you import a .tar.gz backup in /home/${username} ? (y/N) ${RESET}"
|
|
read answer
|
|
if [[ "$answer" == "y" ]]; then
|
|
|
|
site_name=$(ls /var/www/repositories/ | grep -v '^cms')
|
|
backup_archive=$(ls "/home/${username}/${site_name}_export"*)
|
|
|
|
tar -xzvf $backup_archive -C "/home/${username}"
|
|
|
|
rm $backup_archive
|
|
|
|
backup_directory="/home/${username}/"$(ls "/home/${username}/" | grep "${site_name}_export")
|
|
db_export=$(ls "${backup_directory}/db"*)
|
|
|
|
db_password=$(cat /var/www/repositories/cms*/.env | grep DB_PASSWORD | sed "s/[^']*'\([^']*\)'.*/\1/")
|
|
|
|
mariadb -u directus "-p${db_password}" -e "DROP DATABASE IF EXISTS directus; CREATE DATABASE directus;"
|
|
mariadb -u directus "-p${db_password}" directus < $db_export
|
|
|
|
cms_directory="/var/www/repositories/"$(ls /var/www/repositories | grep cms)
|
|
|
|
rm -r "${cms_directory}/uploads"
|
|
mv -f "${backup_directory}/uploads" "${cms_directory}/"
|
|
|
|
chown -R www-data:www-data "${cms_directory}/uploads"
|
|
|
|
rm -r $backup_directory
|
|
|
|
if [ -f "/var/www/webhook/webhook.sh" ]; then
|
|
su -s /bin/bash -c "bash /var/www/webhook/webhook.sh Backup_import" www-data
|
|
else
|
|
echo -e "${PURPLE}${BOLD}Could not trigger the build because of lack of webhook${RESET}"
|
|
fi
|
|
else
|
|
echo -e "${PURPLE}${BOLD}Please import a .tar.gz backup in /home/${username}${RESET}"
|
|
fi
|
|
fi |