# include verborgen bestand met setting van de MYSQL wachtwoorden
# Het bestand .mysql_access moet wel in dezelfde directory staan als dit script
. .mysql_access

# Set VARIABLES

# Geef hier aan waar het 'piwigo' programma zich bevindt
source_prog="/var/www/html/piwigo";

# Geef hier aan waar de buiten de webroot geplaatste 'piwigo data' zich bevinden
source_data="/home/pwgdata"

# Geef hier aan waar Piwigo-backups opgeslagen moeten worden
storedir="/vault/piwigo/";

# Geef hier aan welk datumformaat gebruikt moet worden voor de betandsnaam van de backup
datestamp=$(date +%Y%m%d)

# Maak de variabele met de datum en tijd van de vorige gallery backup/synchronisatie
syncfile=$source_data"/synchronisatie*";
lastsync=$(date -r $syncfile +%d/%m/%Y-%X);

# Maak variabele met pad waar de snapshot opgeslagen moet worden
snapshotdir=$storedir"snapshot-van-backup-"$datestamp"/";

clear;
echo;
echo "                             Maak PIWIGO backup snapshot";
echo "  ===========================================================================================";
echo "  Bij elke dagelijkse 'Backup' of 'Synchronisatie' van Piwigo worden de laatste bestanden";
echo "  opgeslagen. Als er bij het experimenteren fouten ontstaan dan worden die ook in de backup;"
echo "  meegenomen. De laatst goedwerkende versie wordt hiermee overschreven.";
echo "  Daarom is het raadzaam een snapshot van de backup te maken voordat we aan het sleutelen";
echo "  gaan. Deze snapshot wordt opgeslagen in een nieuwe map in "$storedir" met vermelding";
echo "  van de timestamp.";
echo "  De snapshot is alleen van het programma en database. Niet van _data met de foto's!";
echo "  ===========================================================================================";

  yn="n";
  echo;
  echo -n "  Snapshot maken? Y/N: ";
  read yn;
  case $yn in
     [Yy])
      echo "  Snapshot van het Piwigoprogramma en data wordt gemaakt...";;
      *)
      exit;;
  esac;

if [ -d $snapshotdir ];
then
# Bestaat al
# ==========
  yn="n"
  echo;
  echo -n "  Snapshot "$snapshotdir" bestaat al, overschrijven? Y/N: ";
  read yn;
  case $yn in
     [Yy])
      rm -rf $snapshotdir;;
      *)
      echo;
      echo "  De reeds bestaande "$snapshotdir" blijft bewaard.";
      echo -n "  Druk <ENTER> om terug te gaan: "; read foo;
      exit;;
  esac;
fi

# Maak snapshot
# =============
mkdir $snapshotdir;
cp -a $source_prog $snapshotdir;
mkdir $snapshotdir"pwgdata/";
cp -a $source_data"/dbase_dump" $snapshotdir"pwgdata";
cp -a $source_data"/hacks" $snapshotdir"pwgdata";
cp -a $source_data"/local" $snapshotdir"pwgdata";
cp -a $source_data"/template-extension" $snapshotdir"pwgdata";
cp -a $source_data"/upload" $snapshotdir"pwgdata";
echo;
echo "  Snapshot "$snapshotdir" is gemaakt.";
echo -n "    druk <ENTER> om door te gaan: "; read foo;
