Home

PIWIGO Navigatie

 

Piwigo::Backup

Index 
1.  Backup::Algemeen
    Script Backuppwg-cron
    CRON
    Backup/Synchronisatie
    Script Backuppwg
        Optie: Backup
        Optie: Synchroniseer
        Optie: Gebruikersinstructies
        Optie: Piwigo-Hacks
                   Gebruikersinstructies Upgrade en Restore
                   Tarball van de bestanden met de hacks
                   Tarball van de originele bestanden
                   Check van gehackte bestanden

Backup

Algemeen

De Piwigo Fotogalerij wordt regelmatig voorzien van nieuwe foto's en beschrijvingen vanuit de fotoarchief bestanden op het netwerk.
van Piwigo maken we dagelijks een backup naar een fysiek gescheiden harde schijf op de netwerk-bestandsserver. Tevens wordt de complete server, inclusief data, 2x per jaar weggeschreven naar een externe harde schijf.

Piwigo bestaat uit 3 elementen waarvan backups gemaakt moeten worden:

  1. Het programma in de webroot ../piwigo. Dit gedeelte bevat geen data en bestaat uit het programma met thema, plugins en lokale wijzigingen. Dit gedeelte is onderhevig aan Piwigo updates, plugin updates en eigen hacks.
  2. De data in /home/pwgdata (Piwigo::Beveiliging > Piwigo data buiten webroot
    /galleries : de originele afbeeldingen met mappenstructuur
    /_data  : de geschaalde afbeeldingen, cached data en templates
    /local : alle eigen lokaal aangebrachte modificaties en wijzigingen
    /template-extension : de lokaal gemodificeerde templates
    /upload : afbeeldingen anders geladen dan via /galleries
    /hacks : tarballs van de eigen 'gehackte' bestanden
    /dbase_dump : de dump van onderstaande database
  3. De database in MariaDB 'piwigo' met de Piwigo programma instellingen, data structuur, links, omschrijvingen, etc, etc.

Het dagelijkse backup proces op de webserver wordt uitgevoerd met het script ‘backuppwg-cron’ geplaatst op de webserver in /usr/local/bin/. Zie hiervoor ook de sectie Webserver: Utility Scripts

Naar Index

Script Backuppwg-cron

In de scripts 'backuppwg' en 'backuppwg-cron' wordt een MySQL commando gebruikt dat een wachtwoord vereist. Deze is niet 'hard-coded' in het script opgenomen. Het script bevat een 'include' statement dat verwijst naar een verborgen bestand '.mysql_access' dat in dezelfde directory /usr/local/bin/ geplaats moet zijn als het 'backuppwg' script.
Bekijk hier de template 'demo.mysql_access'. Kopieer en open dit bestand in een editor en vervang <MySQL-rootwachtwoord> en <MySQL-gallery2_ww> door de wachtwoorden ingevoerd in hoofdstuk Piwigo::Installeren > Creëer MariaDB database voor Piwigo.
Sla het bestand op als '.mysql_access' en zet permissies naar root:root en chmod 400.

Gebruikersinformatie van het script 'backuppwg-cron' wordt in het script gegeven. Het script kan hier bekeken en eventueel elders opgeslagen worden.
Het script resulteert in een backup van het geïnstalleerde Piwigo programma ../piwigo, een backup van de data directorie '/home/pwgdata' en de bijbehorende MariaDB database 'piwigo'. Tevens wordt een bestandje aangemaakt met in de naam de datum en tijd van de backup.
#!/bin/bash
#*********************************************************************************************
#* BACKUPPWG-CRON Versie 2.0 Script voor autom. synchronisatie (backup) van de Piwigo data   *
#* Ben Makkink 09 december 2016                                                              *
#*********************************************************************************************
#* BELANGRIJK: Dit script wordt gebruikt door CRON voor het dagelijks maken van een          *
#* automatische backup. CRON gebruikt echter per default 'sh' ipv 'bash'.                    *
#* Als script geschreven is in 'bash' werkt het mogelijk niet onder CRON. Corrigeer dit      *
#* door op de eerste regel van het script '#!/bin/bash' te plaatsen. Nu wordt het script     *
#* uitgevoerd is 'bash' ondanks dat het door CRON in 'sh' aangeroepen wordt.                 *
#* *******************************************************************************************
# * Verifieer dat de voor script 'backuppwg-cron' benodigde bestanden in /usr/local/bin
# * aanwezig zijn.
#
# * 1: 'mysql_access' met Mysql inloggegevens
clear;
ok="y";
if [ ! -f /usr/local/bin/.mysql_access ]
   then
	 echo;
     echo "     Bestand 1 : '.mysql_access' mist in /usr/local/bin!";
	 ok="n";
fi
# * 2: 'backuppwg_readme' met 'backuppwg' gebruikersinstructies
if [ ! -f /usr/local/bin/backuppwg_readme ]
   then
	 echo;
     echo "     Bestand 2 : 'backuppwg_readme' mist in /usr/local/bin!";
	 ok="n";
fi

# * Bericht als bestand(en) missen
if [ $ok == "n" ]
    then
	echo;
	echo "     ===============================================================================";
    echo "     Installeer eerst bovenstaande bestand(en), BACKUPPWG-CRON heeft deze nodig!!";
	echo "     ===============================================================================";
	echo -n "     Druk  om verder te gaan: "; read foo;
	echo;
	exit;  #exit script omdat bestanden missen in /usr/local/bin/
fi

# *****************************************************************************************
# * Als alle benodigde bestanden in /usr/local/bin/ bestaan; start het script
# *****************************************************************************************

# include verborgen bestand met setting van de MYSQL wachtwoorden
# Als dit script door CRON gebruikt wordt mag het pad naar .mysql_access niet relatief zijn
# CRON werkt vanuit de root en het pad naar het 'include' bestand moet dus 'full' zijn.
. /usr/local/bin/.mysql_access

# 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 synchronisatie backups opgeslagen moeten worden
storedir="/vault/piwigo/";

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

# Maak dump van Piwigo database naar /home/pwgdata
# ===================================================
# Maak een dump (export) van de mysql database 'piwigo' genaamd 'piwigo-dump.sql' in
# /home/pwgdata/dbase_dump
mysqldump -uroot -p$MYSQL_PWD_R --opt --databases piwigo > $source_data/dbase_dump/"piwigo-dump"$datestamp".sql";
# De datum van synchronisatie houden we bij met de naam van een bestand (zonder inhoud)
# Verwijder laatste bestand 
syncfile=$source_data"/synchronisatie*";
rm -rf $syncfile;
# Maak nieuw synchronisatiedatum bestand aan in 'source_data'
touch $source_data"/synchronisatiedatum-"$datestamp;
# Verwijder oude synchronisatiedatum bestanden uit 'storedir'
find $storedir -maxdepth 2 -mtime +7 -name synchronisatiedatum* -exec rm '{}' \;
# Verwijder dbase_dumps in source_data ouder dan 7 dagen
find $source_data/dbase_dump/ -maxdepth 2 -mtime +7 -name *piwigo-dump* -exec rm {} \;

# Backup alleen piwigo-programma naar $storedir
# Symbolic links worden gecopieerd en niet de achterliggende data
# ============================================================================================
rsync -avzh $source_prog $storedir;

# Backup 'pwgdata'
rsync -avzh $source_data $storedir;
# Verwijder databasedumps die niet meer in bron voorkomen.
rsync -avzh --delete $source_data/dbase_dump $storedir"pwgdata";
# ============================================================================================
# Zie BACKUPPWG_README voor uitleg en restore instructies
# ============================================================================================

Naar Index

CRON

Het script 'backuppwg-cron wordt middels een CRON elke dag uitgevoerd. Zie http://nl.wikipedia.org/wiki/Cronjob voor gedetailleerde uitleg over CRON, deze website Exploringlinux > Server > Processen met nadere praktijk-info, of #man crontab voor het maken en bewerken van de crontab bestanden.

Naar Index

PIWIGO Backup/Synchronisatie

Bij de 'Backup' of 'Synchronisatie' worden nieuwe/gewijzigde bestanden naar de backupdisk geschreven.
Bij 'Synchronisatie worden als in de bron bestanden verwijderd zijn deze ook uit het doel verwijderd.
Bij 'Backup' blijven deze bestanden in het doel bewaard. De dagelijkse cron met het script 'backupwp' voert een 'Backup' uit.

Naar Index

Script Backuppwg

Het script 'backuppwg' wordt op de hand uitgevoerd met het commando aan de prompt': # backuppwg
Bekijk hier het complete script inclusief inline uitleg.
'UTILS' Utilitiespakket: Het script ‘backuppwg’ is op zijn beurt geïntegreerd in het in ClearOS7 Server::Utility Scripts beschreven pakket, met diverse scripts voor onderhoud, backup, etc. Deze bash scripts voorzien in menu's met de diverse keuzes en gebruikersinstructies.

Het 'backuppwg' script opent een menu met de volgende opties:

  1. Backup - Kopieer nieuwe/gewijzigde bestanden. Behoudt bestanden verwijderd uit bron
  2. Synchroniseer - Kopieer nieuwe/gewijzigde bestanden. Verwijder indien alleen in doel
  3. Gebruikersinstructies voor Wordpress RESTORE en automatisch backup met cron
  4. Wordpress User-Hacks Backup

Naar Index

Optie 1: Backup
Kopieer nieuwe/gewijzigde bestanden. Behoudt bestanden verwijderd uit bron

Relevante regels in het script (zie Optie 3: Gebruikersinstructies voor meer detail):

# 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);

mysqldump -uroot -p$MYSQL_PWD_R --opt --databases piwigo > $source_data/dbase_dump/"piwigo-dump"$datestamp".sql";
# Verwijder dbase_dumps in source_data ouder dan 7 dagen
find $source_data/dbase_dump/ -maxdepth 2 -mtime +7 -name *piwigo-dump* -exec rm {} \;
touch $source_data"/synchronisatiedatum-"$datestamp;
rsync -av $source_data $storedir;
rsync -av $source_prog $storedir;
rsync -avzh --delete $source_data/dbase_dump $storedir"pwgdata";
  1. Als eerste wordt er een dump vande database 'piwigo' met de naam 'piwigo-dump<timestamp>.sql' gemaakt en opgeslagen bij de data in /home/pwgdata/dbase_dump
  2. Vervolgens wordt er een bestandje met als naam de datum en tijd van het maken van de backup, deze wordt ook in /home/pwgdata geplaatst.
  3. Daarna wordt een backup gemaakt van de data van items 1 en 2 in /home/pwgdata en weggeschreven naar de folder /vault/piwigo op een fysiek gescheiden schijf.
  4. Vervolgens wordt een backup gemaakt van het programma in de webroot onder ../piwigo en ook weggeschreven naar de folder /vault/piwigo.
  5. Als laatste worden de databasedumps in /home/pwgdata gesynchroniseerd met de dumps in /vault/piwigo

Naar Index

Optie 2: Synchroniseer
Kopieer nieuwe/gewijzigde bestanden. Verwijder indien alleen in doel.

Relevante regels in het script (zie Optie:Gebruikersinstructies voor meer detail):

# 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);

mysqldump -uroot -p$MYSQL_PWD_R --opt --databases piwigo > $source_data/dbase_dump/"piwigo-dump"$datestamp".sql";
# Verwijder dbase_dumps in source_data ouder dan 7 dagen
find $source_data/dbase_dump/ -maxdepth 2 -mtime +7 -name *piwigo-dump* -exec rm {} \;
touch $source_data"/synchronisatiedatum-"$datestamp;
rsync -av --delete $source_data $storedir;
rsync -av --delete $source_prog $storedir;
  1. Als eerste wordt er een dump vande database 'wordpress' gemaakt en opgeslagen bij de data in /home/pwgdata/dbase_dump
  2. Vervolgens wordt er een bestandje met als naam de datum en tijd van het maken van de backup, deze wordt ook in /home/pwgdata geplaatst.
  3. Daarna wordt een backup gemaakt van de data van items 1 en 2 in /home/pwgdata en weggeschreven naar de folder /vault/piwigo op een fysiek gescheiden schijf. Maar worden bestanden die niet meer in de bron voorkomen ook verwijderd uit het doel (--delete)
  4. Als laatste wordt een backup gemaakt van het programma in de webroot onder ../piwigo en ook weggeschreven naar de folder /vault/piwigo. Maar worden bestanden die niet meer in de bron voorkomen ook verwijderd uit het doel (--delete)

Naar Index

Optie 3: Gebruikersinstructies

De selectie van deze optie opent onderstaand tekstbestand met uitleg over de backup en restoreprocedures.
Klik hier om het bestand in de browser te openen en eventueel elders op te slaan.

backuppwg_readme
*********************************************************************************************
* BACKUPPWG Version 1.0 Script voor automatische synchronisatie (backup) van de PIWIGO data *
* Ben Makkink 31 december 2015                                                              *
*********************************************************************************************
WERKING VAN HET SCRIPT EN RESTORE INSTRUCTIES

BELANGRIJK:
Het script 'backuppwg' wordt gebruikt door CRON voor het dagelijks maken van een automatische
backup. CRON gebruikt echter per default 'sh' ipv 'bash'.
Als een script geschreven is in 'bash' werkt het mogelijk niet onder CRON. Corrigeer dit
door op de eerste regel van het script '#!/bin/bash' te plaatsen. Nu wordt het script
uitgevoerd in 'bash' ondanks dat het door CRON in 'sh' aangeroepen wordt.

HET SCRIPT BACKUPPWG
1- Eerst wordt geverifieerd dat de voor script 'backuppwg' benodigde bestanden in
   /usr/local/bin aanwezig zijn.
2- Vervolgens wordt een 'include' gedaan van het verborgen bestand .mysql_access met de
   setting van de MYSQL wachtwoorden. Als dit script door CRON gebruikt wordt mag het pad
   naar .mysql_access niet relatief zijn. CRON werkt vanuit de root en het pad naar het
   'include' bestand moet dus 'full' zijn, dwz: . /usr/local/bin/.mysql_access
3- Nu worden nog enkele variabelen gezet waarna het eigenlijke
   programma begint:
     Maak een dump (export) van de mysql database 'piwigo' genaamd 
     'piwigo-dump.sql' in /home/pwgdata/dbase_dump. Door het toevoegen van
     de variabele $datestamp in de bestandsnaam wordt voorkomen dat bij een nieuwe backup
     de vorige dbasedump wordt overschreven. Vooral van belang bij de dagelijkse cron backup
     # mysqldump -uroot -p$MYSQL_PWD_R --opt --databases piwigo >
                                 /home/pwgdata/dbase_dump/"piwigo-dump"$datestamp".sql";
4- De datum van synchronisatie houden we bij door een 'datestamp' te verwerken in de naam
   van een leeg bestand '/home/pwgdata/synchronisatiedatum-yyyymmdd'
5- In de bron worden de databasedumps die ouder dan 7 dagen zijn verwijderd
   # find $source_data/dbase_dump/ -maxdepth 1 -mtime +7 -name *piwigo-dump* -exec rm {} \;
6- Nu maken we de backups van /var/www/html/piwigo en /home/pwgdata naar /vault/piwigo :
   # rsync -avzh /var/www/html/piwigo /vault/piwigo;
   (symbolic links naar /home/pwgdata worden gekopieerd, maar niet de achterliggende data)
   # rsync -avzh /home/pwgdata /vault/piwigo;
   (alle piwigo data inclusief MySQL-dump van de 'piwigo' database)
7- Als laatste worden databasedumps uit de storedir verwijderd die niet meer in de bron
   voorkomen.
   # rsync -avzh --delete $source_data/dbase_dump $storedir"pwgdata";

BACKUP en geen SYNCHRONISATIE!
Bij de automatische geplande backup is het beter geen synchronisatie met de optie
'verwijder uit doel als niet meer in bron' uit te laten voeren, want voor je het weet is
ook alles in de backup weg.
Doe een synchronisatie met --delete alleen handmatig via het script 'backup' bijvoorbeeld
1 x per jaar. En dan alleen als je absoluut zeker bent dat de brondata compleet zijn.

CRON
Gebruik het backuppwg script met een cron om bijvoorbeeld wekelijks uit te voeren.
Gebruik commando # crontab -e en voeg toe in /var/spool/cron/root:
  1 1 * * 0 /usr/local/bin/backuppwg &> /dev/null
Bovenstaande betekent: 01:01 uur 's ochtends op 1e dag van de week
 of 1 1 * * * /usr/local/bin/backuppwg &> /dev/null
zelfde tijden maar nu dagelijks.

===========================================================================================
PIWIGO restore:
===========================================================================================
1- Voor een restore is het beter te zorgen dat het oude bestand verwijderd is.
2- Als het PIWIGO programma zelf nog wel werkt is het niet nodig deze te vervangen door
   de backup.
3- Om een restore te doen van PIWIGO is het voldoende de huidige lege of corrupte
   data directories /home/pwgdata/_data, /galleries, /update en /local te verwijderen en
   te vervangen door hun respectievelijke laatste backups in /vault/piwigo/pwgdata
4- Vervolgens moet de Piwigo database hersteld worden.
   Voer onderstaande commando's uit voor het droppen van de oude MariaDB piwigo database
   en het importeren van de sql-dump in de backup:
     a. cd naar /vault/piwigo/pwgdata/dbase_dump met het laatste goede bestand
        'piwigo-dump.sql'
     b. # mysqladmin -uroot -p'' drop piwigo
        (verwijdert de oude 'piwigo')
     c. # mysql -uroot -p'' < piwigo-dump.sql
        (importeert de backup 'piwigo')
   Hiermee is PiWiGo weer hersteld naar de situatie van de laatste backup.

NOTE 1:
 is het rootwachtwoord gegeven bij de activering van MySQL

NOTE 2:
SYMBOLIC LINKS naar backups.
Het kopieren van de bestanden van de backup naar /home/pwgdata kan enkele uren
duren. Om snel in de lucht te zijn kunnen we in plaats van bovenstaande stap 3 eerst in
het piwigo programma de symbolic links naar de probleembestanden verwijderen en deze
vervangen met symbolic links naar de backups.
Bijvoorbeeld voor ../piwigo/galleries:
# cd /var/www/html/piwigo
# unlink galleries
# ln -s /vault/piwigo/pwgdata/galleries galleries

Na hetzelfde te gedaan te hebben voor _data, upload, template-extension en local gaan we
verder met stap 4 en op deze manier is Piwigo weer beschikbaar.

Nu kopieren we de fysieke backupbestanden naar Piwigo met een andere naam, bijvoorbeeld:
# cp -aR /vault/piwigo/pwgdata/galleries /home/pwgdata/bck-galleries
Op dezelfde manier kopiëren we _data, upload, template-extension en local.

Vervolgens stoppen we piwigo en verwijderen we de symbolic links:
# unlink galleries
Zo ook voor _data, upload, template-extension en local

Als alle links verwijderd zijn hernoemen we de fysieke bestanden:
# rename bck-galleries galleries bck-galleries
Zo ook voor bck_data, bck-upload, bck-template-extension en bck-local

Herstel nu de oorspronkelijke symbolic links
# ln -s /home/pwgdata/galleries galleries
Zo ook voor _data, upload, template-extension en local

Hiermee is PiWiGo weer hersteld naar de situatie van de laatste backup!
NOTE 3:
De backup kan ook gebruikt worden voor een (her)installatie van PIWIGO op een andere
server of nieuwe ClearOS installatie. Let hierbij op de vereiste settingen in
/etc/php.ini:
   memory_limit>=100M
   upload_max_filesize>=100M
   output_buffering = Off
   post_max_size>=100M

===========================================================================================
PIWIGO PROGRAMMA restore
===========================================================================================
Mocht het PIWIGO programma corrupt zijn of het is in z'n geheel niet geinstalleerd, dan
volstaat het om uit de backup in /vault/piwigo de directory 'piwigo' te copieren naar
/var/www/html/ (# cp -a om permissies en owners te behouden
===========================================================================================

Naar Index

Optie 4: User-Hacks

Deze optie start het script 'piwigo-hacks' voor het samenstellen van tarballs van alle programmabestanden in Piwigo die 'gehackt' zijn door de gebruiker (voor en na de eigen wijzigingen).
(Zie Piwigo::Wijzigingen > Hacks)

Het script piwigo-hacks opent met een menu met volgende keuzes:

  1. Gebruikersinstructies RESTORE User Hacks
  2. Maak 'piwigo-hacks' tarball (pre-upgrade hacks)
  3. Maak 'piwigo-hacks-org' tarball (pre-upgrade originelen)
  4. Check 'piwigo-hacks' na een Piwigo update/upgrade op overschrijving

Naar Index

Keuze 1 opent een tekstbestand met onderstaande gebruikersinstructies.
Klik hier om het bestand in de browser te openen en eventueel elders op te slaan.

PIWIGO-HACKS Gebruikers instructies
================================================================================
Voordat in Piwigo de eigen modificaties gemaakt worden, worden van de
betreffende bestanden kopien gemaakt van het origineel en voorzien met de
extentie .org. Deze bestanden zijn dus originelen zoals uit de doos.
Na een upgrade moet nu eerst vastgesteld worden of deze 'uit de doos' bestanden
niet gewijzigd zijn. Maak voor een upgrade een tarball van deze .org files.
Gebruik eventueel het bestand piwigo-hacks-org.tar.gz om na de upgrade
deze pre-upgrade .org originelen terug te zetten.
Vergelijk nu de upgrade originelen met de pre-upgrade originelen met de extentie
.org.
Alleen als deze gelijk zijn kan piwigo-hacks.tar.gz gebruikt worden om
de eigen wijzigingen terug te zetten.
Als er verschillen zijn dan moeten van deze specifieke bestanden de eigen
wijzigingen in de upgrade op de hand uitgevoerd worden.

Vergelijken van bestanden (na de upgrade en voor terugzetten eigen wijzigingen)
=================================================================================
1 Maak een nieuwe directory ../temp aan
2 Kopieer alle bestanden .org en hun nieuwe tegenhangers naar deze ../temp
  directory.
3 Vergelijk de oude met de nieuwe dus bv. index.php en index.php.org
  # comm -13 file1 file2 > file3
  Hierbij is file1 de oude, file2 de nieuwe en file3 het output bestand
  -1 verberg regels uniek in file1
  -2 verberg regels uniek in file2
  -3 verberg regels die in beide gelijk zijn
  Bovenstaand commando resulteert in file3 met regels die in het nieuwe bestand
  niet meer voorkomen.
  # comm -23 file1 file2 > file3
  Resulteert in regels die alleen in het nieuwe voorkomen, dus toegevoegd.
=================================================================================
Alternatief
=================================================================================
Gebruik het Windows programma EXAMDIFF om beide bestanden te vergelijken. Als de
Windows PC Samba toegang heeft tot de webroot (website) dan zijn de beide
bestanden eenvoudig te openen en worden de verschillen duidelijk getoond.
=================================================================================

Alleen als er bij alle bovenstaande bestanden geen verschillen bestaan dan kunnen
de eigen bestanden in piwigo-hacks.tar.gz teruggezet worden. In dit
geval laten we de bestanden met .org extentie gewoon staan voor een
volgende upgrade.

Als er wel verschillen in een bestand zijn, dan moet na de upgrade van Piwigo
een kopie van dit bestand gemaakt worden met een .org extentie waarna het
origineel bewerkt moet worden met de eigen wijzigingen. 
=================================================================================
MAAK DUS VOOR EEN UPGRADE EERST DE TARBALLS 'piwigo-hacks.tar.gz'
en 'piwigo-hacks-org.tar.gz'.

Naar Index

Keuze 2 maakt vóór de upgrade een tarball van de bestanden met de hacks
Relevante code:

echo "     De volgende bestanden worden gearchiveerd.";
echo "     ================================================================================";
cd /var/www/html/piwigo;  #Ga naar de /piwigo directory
  tar -cvf tmp.tar index.php; #bestanden met eigen bewerkingen naar archief tmp.tar
  tar -rvf tmp.tar include/extra-index.inc.php;
  tar -rvf tmp.tar admin/site_update.php;
  tar -rvf tmp.tar include/user.inc.php;
  tar -rvf tmp.tar include/category_default.inc.php;
  tar -rvf tmp.tar plugins/Fotorama/template/fotorama-content.tpl;
  tar -rvf tmp.tar plugins/Fotorama/fotorama/fotorama@2x.png;
  tar -rvf tmp.tar plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl;
  tar -rvf tmp.tar plugins/BatchDownloader/template/images/zip.png;
  tar -rvf tmp.tar plugins/piwigo-videojs/template/vjs-5-player.tpl;
  tar -rvf tmp.tar plugins/piwigo-videojs/video-js-5/videojs-local.css;
  tar -rvf tmp.tar plugins/piwigo-videojs/video-js-5/videojs-local-mobile.css;
  tar -rvf tmp.tar plugins/ShareAlbum/main.inc.php;
  tar -rvf tmp.tar plugins/ShareAlbum/include/sharealbum_functions.inc.php;
  tar -rvf tmp.tar plugins/ShareAlbum/admin/template/config.tpl;
  tar -rvf tmp.tar plugins/ShareAlbum/admin/config.php;
  tar -rvf tmp.tar plugins/rv_menutree/template/rv_menutree_categories.tpl;

gzip tmp.tar;  # Comprimeer het bestand met gzip
# Geef een fatsoenlijke naam en locatie aan het bestand
mv tmp.tar.gz /home/pwgdata/hacks/piwigo-hacks.tar.gz;

Naar Index

Keuze 3 maakt vóór de upgrade een tarball van de originele bestanden (als uit de doos)
Relevante code:

echo "     De volgende bestanden worden gearchiveerd.";
echo "     ================================================================================";
cd /var/www/html/piwigo;  #Ga naar de /piwigo directory
  tar -cvf tmp.tar index.php.org;
  tar -rvf tmp.tar include/extra-index.inc.php.org
  tar -rvf tmp.tar admin/site_update.php.org;
  tar -rvf tmp.tar include/user.inc.php.org;
  tar -rvf tmp.tar include/category_default.inc.php.org;
  tar -rvf tmp.tar plugins/Fotorama/template/fotorama-content.tpl.org;
  tar -rvf tmp.tar plugins/Fotorama/fotorama/fotorama@2x.png.org;
  tar -rvf tmp.tar plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl.org;
  tar -rvf tmp.tar plugins/BatchDownloader/template/images/zip.png.org;
  tar -rvf tmp.tar plugins/piwigo-videojs/template/vjs-5-player.tpl.org;
  tar -rvf tmp.tar plugins/piwigo-videojs/video-js-5/videojs-local.css.bck;
  tar -rvf tmp.tar plugins/piwigo-videojs/video-js-5/videojs-local-mobile.css.bck;
  tar -rvf tmp.tar plugins/ShareAlbum/main.inc.php.org;
  tar -rvf tmp.tar plugins/ShareAlbum/include/sharealbum_functions.inc.php.org;
  tar -rvf tmp.tar plugins/ShareAlbum/admin/template/config.tpl.org;
  tar -rvf tmp.tar plugins/ShareAlbum/admin/config.php.org;
  tar -rvf tmp.tar plugins/rv_menutree/template/rv_menutree_categories.tpl.org;

gzip tmp.tar;  # Comprimeer het bestand met gzip
# Geef een fatsoenlijke naam en locatie aan het bestand
mv tmp.tar.gz /home/pwgdata/hacks/piwigo-hacks-org.tar.gz;

Naar Index

Keuze 4 faciliteert een snelle check van gehackte bestanden die met een update/upgrade mogelijk overschreven zijn.

Na het maken van een hack wordt een kopie bewaard met de extentie .bck. Dit *.bck bestand heeft dezelfde timestamp als het bestand met de hack.
Als na een upgrade de timestamps verschillen betekent dit dat het bestand met de hack overschreven is door de upgrade.
De hack moet in dat geval opnieuw aangebracht worden.

Relevante code:

cd /var/www/html/;
echo "ls -l piwigo/index*";
ls -l piwigo/index*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/include/extra-index*";
ls -l piwigo/include/extra-index*;
echo -n "   Druk een   om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/admin/site_update.php*";
ls -l piwigo/admin/site_update.php*;
echo -n "   Druk een  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/include/user.inc.php*";
ls -l piwigo/include/user.inc.php*;
echo -n "   Druk een  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/include/category_default.inc.php*";
ls -l piwigo/include/category_default.inc.php*;
echo -n "   Druk een  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/Fotorama/template/fotorama-content.tpl*";
ls -l piwigo/plugins/Fotorama/template/fotorama-content.tpl*;
echo -n "   Druk een  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/Fotorama/fotorama/fotorama@2x.png*";
ls -l piwigo/plugins/Fotorama/fotorama/fotorama@2x.png*;
echo -n "   Druk een  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl*";
ls -l piwigo/plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/BatchDownloader/template/images/zip.png*";
ls -l piwigo/plugins/BatchDownloader/template/images/zip.png*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/piwigo-videojs/template/vjs-5-player.tpl*";
ls -l piwigo/plugins/piwigo-videojs/template/vjs-5-player.tpl*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/piwigo-videojs/video-js-5/videojs-local.css*";
ls -l piwigo/plugins/piwigo-videojs/video-js-5/videojs-local.css*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/piwigo-videojs/video-js-5/videojs-local-mobile.css*";
ls -l piwigo/plugins/piwigo-videojs/video-js-5/videojs-local-mobile.css*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/ShareAlbum/main.inc.php*";
ls -l piwigo/plugins/ShareAlbum/main.inc.php*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/ShareAlbum/include/sharealbum_functions.inc.php*";
ls -l piwigo/plugins/ShareAlbum/include/sharealbum_functions.inc.php*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/ShareAlbum/admin/template/config.tpl*";
ls -l piwigo/plugins/ShareAlbum/admin/template/config.tpl*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/ShareAlbum/admin/config.php*";
ls -l piwigo/plugins/ShareAlbum/admin/config.php*;
echo -n "   Druk  om verder te gaan: "; read foo;
echo;

echo "ls -l piwigo/plugins/rv_menutree/template/rv_menutree_categories.tpl*";
ls -l piwigo/plugins/rv_menutree/template/rv_menutree_categories.tpl*;
# echo -n "   Druk  om verder te gaan: "; read foo;
echo;
echo "     ================================================================================";
echo "     Einde check PIWIGO hack-bestanden";
echo -n "   Druk  om terug te gaan naar menu "; read foo; piwigo-hacks;;

Naar Index