| Home | CV | login | Startpagina | Wiki | WorkSpace |
Notepad++
Automatisch backup MySQL database middels een Cronjob.
We beginnen met een complete backup van de hele database store.

Stap 1: Aanmaken directory.
Maak een directory aan op je NAS Server (volume1) waar je de back-up wilt opslaan

Stap 2: Aanpassen script
Vervang {path_name} in onderstaande script met de directorynaam die je bij stap 1 hebt aangemaakt

Geef het wachtwoord op van de user: root in het script,
door -psqlpassword te veranderen in -p********* (hier zijn de sterretjes je eigen wachtwoord).

#!/bin/bash
# number of backups to be saved
KEEP=10
BACKUPS=`find /volume1/path_name/sqlbackup -name "mysqldump-*.gz" | wc -l | sed 's/\ //g'`
while [ $BACKUPS -ge $KEEP ]
do
ls -tr1 /volume1/path_name/sqlbackup/mysqldump-*.gz | head -n 1 | xargs rm -f
BACKUPS=`expr $BACKUPS - 1`
done
DATE=`date +%Y%m%d%H%M%S`
rm -f /volume1/path_name/sqlbackup/.mysqldump-${DATE}.gz_INPROGRESS
/usr/syno/mysql/bin/mysqldump --opt -uroot -psqlpassword --all-databases | gzip -c -9 > /volume1/path_name/sqlbackup/.mysqldump-${DATE}.gz_INPROGRESS
mv -f /volume1/path_name/sqlbackup/.mysqldump-${DATE}.gz_INPROGRESS /volume1/path_name/sqlbackup/mysqldump-${DATE}.gz
exit 0


Stap 3: Opslaan script
Sla het bovenstaande script ergens op de je NAS Synology (volume1) en noem de het bestand: mysqlbackup.sh

Stap 4: Testen script
-Open Putty. (ik ga er vanuit dat je deze al hebt gedownload en geïnstalleerd, zo niet klik dan hier ).



-Vul in Host Name of IP-adres.
-Gebruik poort 22.
-Selecteer connection type: SSH
-Klik op open.



-login in met adminaccount van de Synology en het wachtwoord.



Om door te loggen naar het root account, Type: Sudo -i
Het systeem zal weer om het admin wachtwoord vragen.

-Type: sh /volume1/path/mysqlbackup.sh (voor path zie stap 1).
Als het script werkt, staat er nu in de opgegeven directory een mysqldump-${DATE}.gz bestand.

Stap 5: Dagelijkse taak inplannen.
Open crontab met vi tekst editor - type: vi /etc/crontab
Je krijgt een soort gelijk overzicht te zien als hieronder (misschien met wat minder regels).



Nieuwe regel toevoegen aan je crontab, voeg onderstaande regel toe:
1 0 * * * root sh /volume1/path/mysqlbackup.sh

Verander het path in de door jouw gekozen directory.

Je kunt onderstaande commando’s gebruiken

*i /Insert text before cursor, until (Esc) hit
I /Insert text at beginning of current line, until (Esc) hit
*a /Append text after cursor, until (Esc) hit
A /Append text to end of current line, until (Esc) hit
*o /Open and put text in a new line below current line, until (Esc) hit
*O /Open and put text in a new line above current line, until (Esc) hit
*x /Delete single character under cursor
*r /Replace single character under cursor (no (Esc) needed)
R /Replace characters, starting with current cursor position, until (Esc) hit

Belangrijk:
Zorg ervoor dat je de regels die er al in staan niet wijzigt of verwijderd. Dit kan je hele systeem om zeep helpen!
Nadat je een regel hebt toegevoegd moet je de NAS Server een herstart geven.

Aangezien je niet altijd je hele database store wil terug zetten. Raad ik je aan om ook afzonderlijke back-ups te maken, wanneer je meerdere databases gebruikt.

Stap 6: Inplannen single database back-up.
Open weer de crontab met vi tekst editor - type: vi /etc/crontab



Voeg nog een regel toe aan je crontab, voeg onderstaande regel toe:
1 0 * * * root mysqldump -uUserName -pSqlPassword DatabaseName > /volume1/Path/DatabaseName_`date +\%m_\%d_\%Y`.sql

Pas de blauwe gedeeltes aan met je eigen gegevens!

Gebruik weer onderstaande commando’s gebruiken

*i /Insert text before cursor, until (Esc) hit
I /Insert text at beginning of current line, until (Esc) hit
*a /Append text after cursor, until (Esc) hit
A /Append text to end of current line, until (Esc) hit
*o /Open and put text in a new line below current line, until (Esc) hit
*O /Open and put text in a new line above current line, until (Esc) hit
*x /Delete single character under cursor
*r /Replace single character under cursor (no (Esc) needed)
R /Replace characters, starting with current cursor position, until (Esc) hit

Voor elke database die je gebruikt kun je een aparte regel aanmaken.

Belangrijk:
Zorg er weer voor dat je de regels die er al in staan niet wijzigt of verwijderd. Nogmaals dit kan je hele systeem om zeep helpen!
Nadat je de regels hebt toegevoegd moet je weer de NAS Server een herstart geven.

Deze back-up bestanden worden weg geschreven naar de NAS Server zelf. Zorg ervoor dat deze bestanden met een andere back-up methode weer worden weggeschreven naar een ander systeem. Ergens online of een andere NAS of Computer.

Notepad++