na devi trzeba włączyć wykonywanie skryptów

devil binexec on

 

touch backupSite.sh
sudo chmod +x backupSite.sh
nano backupSite.sh

Na devil

touch backupSite.sh
chmod +x backupSite.sh
nano backupSite.sh

 

#!/bin/bash

#---------------------------------------------------------
# Skrypt tworzący kopię bazy danych MySQL za pomocą Drush. 
# Opcjonalny parametr zmienia nazwę pliku kopii np ./backupSite.sh pierwsza
# utworzy plik pierwsza.sql
# Dla MySQL
# ©2025 Dariusz Frączkiewicz 
#---------------------------------------------------------

set -e

BACKUP_DIR="$(pwd)/BackUp"
TIMESTAMP=$(date +'%Y%m%d_%H%M%S')

####################################################
# KONFIGURACJA
####################################################

# Wybór ścieżki do Drusha
HOSTING1_DR="vendor/bin/drush"
HOSTING2_DR="drush"
HOSTING3_DR="php84 vendor/drush/drush/drush.php"

HOSTING_DR=$HOSTING1_DR

####################################################

mkdir -p "$BACKUP_DIR"

# Pobranie opcjonalnego parametru z nazwą pliku
CUSTOM_NAME=$1

if [ -z "$CUSTOM_NAME" ]; then
    # Jeśli parametr jest pusty, tworzy plik według daty
    BACKUP_DB="${BACKUP_DIR}/backup_${TIMESTAMP}.sql"
else
    # Jeśli parametr został podany, sprawdza czy ma już rozszerzenie .sql
    if [[ "$CUSTOM_NAME" == *.sql ]]; then
        BACKUP_DB="${BACKUP_DIR}/${CUSTOM_NAME}"
    else
        BACKUP_DB="${BACKUP_DIR}/${CUSTOM_NAME}.sql"
    fi
fi

echo "Rozpoczynam tworzenie kopii zapasowej (MySQL): $TIMESTAMP"

# Czyszczenie cache Drupala
$HOSTING_DR cr

# Wykonywanie kopii MySQL za pomocą Drush sql-dump
echo "Wykonywanie kopii MySQL za pomocą Drush sql-dump..."
$HOSTING_DR sql-dump --result-file="$BACKUP_DB"

echo "Kopia zapasowa gotowa:"
echo "- Baza: $BACKUP_DB"

 

Spis treści: