premier draft de import_backup
This commit is contained in:
parent
3315d32b3a
commit
7dc9ba3624
|
|
@ -8,7 +8,7 @@ site_name=$(ls /var/www/repositories/ | grep -v '^cms')
|
||||||
db_password=$(cat /var/www/repositories/cms*/.env | grep DB_PASSWORD | sed "s/[^']*'\([^']*\)'.*/\1/")
|
db_password=$(cat /var/www/repositories/cms*/.env | grep DB_PASSWORD | sed "s/[^']*'\([^']*\)'.*/\1/")
|
||||||
current_date=$(date +'%d-%m-%y_%H-%M')
|
current_date=$(date +'%d-%m-%y_%H-%M')
|
||||||
|
|
||||||
export_folder="~/backup/${site_name}_export_${current_date}"
|
export_folder="/root/backup/${site_name}_export_${current_date}"
|
||||||
|
|
||||||
mkdir -p "${export_folder}"
|
mkdir -p "${export_folder}"
|
||||||
|
|
||||||
|
|
@ -16,14 +16,14 @@ mysqldump -u directus -p"${db_password}" directus > "${export_folder}/db_${site_
|
||||||
cp -r /var/www/repositories/cms*/uploads "${export_folder}"
|
cp -r /var/www/repositories/cms*/uploads "${export_folder}"
|
||||||
cp -r /var/www/repositories/cms*/.env "${export_folder}"
|
cp -r /var/www/repositories/cms*/.env "${export_folder}"
|
||||||
|
|
||||||
tar -czf "${export_folder}.tar.gz" -C ~/backup/ .
|
tar -czf "${export_folder}.tar.gz" -C /root/backup/ .
|
||||||
|
|
||||||
ssh -p $receiving_port $receiving_user@$receiving_ip << 'EOF'
|
ssh -p $receiving_port $receiving_user@$receiving_ip << EOF
|
||||||
|
|
||||||
mkdir -p "~/backups/${site_name}"
|
mkdir -p "/home/${receiving_user}/backups/${site_name}"
|
||||||
ls -tp "~/backups/${site_name}" | grep -v '/$' | tail -n +3 | xargs -I {} rm -- {}
|
ls -tp "/home/${receiving_user}/backups/${site_name}" | grep -v '/$' | tail -n +3 | xargs -I {} rm -- "/home/${receiving_user}/backups/${site_name}/{}"
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
scp -P $receiving_port "~/backup/${export_folder}.tar.gz" "${receiving_user}@${receiving_ip}:~/backups/${site_name}"
|
scp -P $receiving_port "${export_folder}.tar.gz" "${receiving_user}@${receiving_ip}:/home/${receiving_user}/backups/${site_name}"
|
||||||
rm -r ~/backup/
|
rm -r ~/backup/
|
||||||
|
|
@ -16,8 +16,8 @@ cp ./assets/backup.sh ~/backup.sh
|
||||||
chmod +x ~/backup.sh
|
chmod +x ~/backup.sh
|
||||||
|
|
||||||
sed -i "s/^receiving_ip=.*/receiving_ip=$receiving_ip/" ~/backup.sh
|
sed -i "s/^receiving_ip=.*/receiving_ip=$receiving_ip/" ~/backup.sh
|
||||||
sed -i "s/^receiving_user=.*/receiving_ip=$receiving_user/" ~/backup.sh
|
sed -i "s/^receiving_user=.*/receiving_user=$receiving_user/" ~/backup.sh
|
||||||
sed -i "s/^receiving_port=.*/receiving_ip=$receiving_port/" ~/backup.sh
|
sed -i "s/^receiving_port=.*/receiving_port=$receiving_port/" ~/backup.sh
|
||||||
|
|
||||||
cronjob="0 2 * * * ~/backup.sh"
|
cronjob="0 2 * * * ~/backup.sh"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/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}"
|
||||||
|
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}"
|
||||||
|
|
||||||
|
db_password=$(cat /var/www/repositories/cms*/.env | grep DB_PASSWORD | sed "s/[^']*'\([^']*\)'.*/\1/")
|
||||||
|
|
||||||
|
|
||||||
|
else
|
||||||
|
echo -e "${PURPLE}${BOLD}Please import a .tar.gz backup in /home/${username}${RESET}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
Loading…
Reference in New Issue