Auteur Topic: MySQL backup  (gelezen 9253 keer)

Offline cornechristiaanse

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 21
MySQL backup
« Gepost op: 23 januari 2009, 16:46:37 »
Hallo,

Als ik op mijn DS-207+ een lokale backup probeer te maken die ook de MySQL databases moet meenemen, mislukt de backup meteen. Neem ik de MySQL databases niet mee, dan gaat alles perfect. Het wachtwoord voor de MySQL databases voer ik goed in. Komt dit probleem iemand bekend voor, en zo ja, is er een oplossing voor?

Ik gebruik de laatste firmware.

Bij voorbaat dank.

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.999
Re: MySQL backup
« Reactie #1 Gepost op: 25 januari 2009, 13:35:09 »
Wat je zou kunnen doen is het volgende:

Maak een backup van je database middels een script dat de database backupt en neem die backupbestanden mee in je eigenlijke backup.
Heb even snel een vertaling van de duitse wiki pagina in elkaar gezet:

maak een bestand mysqlbackup.sh met de volgende inhoud:

#!/bin/bash
#
# dit script kan je zo vaak draaien als je nodig acht
#
# aantal backups die je wilt bewaren
KEEP=2
BACKUPS=`find /volume1/JOUWPADNAARBACKUP/backup -name "mysqldump-*.gz" | wc -l | sed 's/ //g'`
while [ $BACKUPS -ge $KEEP ]
do
ls -tr1 /volume1/JOUWPADNAARBACKUP/backup/mysqldump-*.gz | head -n 1 | xargs rm -f
BACKUPS=`expr $BACKUPS - 1`
done
DATE=`date +%Y%m%d%H%M%S`
rm -f /volume1/JOUWPADNAARBACKUP/backup/.mysqldump-${DATE}.gz_INPROGRESS
/usr/syno/mysql/bin/mysqldump --opt -uroot -psqlpassword --all-databases | gzip -c -9 > /volume1/JOUWPADNAARBACKUP/backup/.mysqldump-${DATE}.gz_INPROGRESS
mv -f /volume1/JOUWPADNAARBACKUP/backup/.mysqldump-${DATE}.gz_INPROGRESS /volume1/JOUWPADNAARBACKUP/backup/mysqldump-${DATE}.gz
exit 0

Het backupbestand wordt in /volume1/JOUWPADNAARBACKUP opgeslagen.
Je dient voor je het script draait de directory /volume1/JOUWPADNAARBACKUP/backup te maken.
Gesteld dat je het script ook in /volume1/JOUWPADNAARBACKUP/backup hebt geplaatst, dan kun je het script testen door het volgende commando uit te voeren: "sh /volume1/JOUWPADNAARBACKUP/mysqlbackup.sh" (zonder de quotejes).
Bij iedere aanroep van het script worden de overbodige (lees de oudste) backups weggegooid (op het aantal 'keeps' na natuurlijk) en een nieuwe backup gemaakt.
Tot slot is het natuurlijk het mooist om dit script in de crontab op te nemen, zodat het gescheduled staat... Voeg daartoe de volgende regel toe in crontab (Tabs gebruiken, geen spaties!):

#minute hour    mday    month   wday    who     command
1       0       *       *       *       root    sh /volume1/JOUWPADNAARBACKUP/mysqlbackup.sh

Door deze regel wordt het script dagelijks om 0:01 uur uitgevoerd.

Je dient crond wel te herstarten...

Succes!

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline grafcom

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 272
Re: MySQL backup
« Reactie #2 Gepost op: 13 februari 2009, 15:44:07 »
Hallo Wizjos,

daar ben ik weer  :D

Ik heb het script aangepast met (JOUWPADNAARBACKUP/backup) en ook deze directory gemaakt.
Bij het testen krijg ik de volgende error:

sh: 17: Syntax error: end of file unexpected (expecting "do")

Het zal wel weer een foutje aan mijn kant zijn maar vooralsnog zie ik die niet  :oops:

Nu nog op zoek naar crontab  :)

Groeten,
Grafcom

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.999
Re: MySQL backup
« Reactie #3 Gepost op: 13 februari 2009, 17:12:45 »
Hmmm,

Ben bang dat je toch ergens een foutje hebt staan.... Ik heb voor de zekerheid de code zelf nog eens in een scriptbestandje geplaatst en 'jouwpadnaarbackup' en 'sqlpassword' aangepast naar de voor mij geldende waardes. Dan doet 'ie het gewoon....
't Enig andere wat ik mij nog kan bedenken is een verschil tussen BASH en ASH (dat standaard is)... Zie eerste regel.

Succes!

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline cornechristiaanse

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 21
Re: MySQL backup
« Reactie #4 Gepost op: 13 februari 2009, 19:30:43 »
Hallo wizjos,

Bedankt voor je reactie en ik ga hier ook zeker naar kijken (heb enige Linux ervaring). Wist dat deze mogelijkheid er was. Maar ik blijf het vreemd vinden dat je in de de interface van de backup kunt aanvinken dat de databases moet worden meegenomen in de backup, maar dat het dan niet werkt. Want dat zou inderdaad de meest handige manier zijn.

Gr. Corne.

Offline grafcom

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 272
Re: MySQL backup
« Reactie #5 Gepost op: 13 februari 2009, 19:45:15 »
kan het toch echt niet vinden, dit gedaan:

Citaat
#!/bin/bash
#
# dit script kan je zo vaak draaien als je nodig acht
#
# aantal backups die je wilt bewaren
KEEP=2
BACKUPS=`find /volume1/tmp/MySql/backup -name "mysqldump-*.gz" | wc -l | sed 's/ //g'`
while [ $BACKUPS -ge $KEEP ]
do
ls -tr1 /volume1/tmp/MySql/backup/mysqldump-*.gz | head -n 1 | xargs rm -f
BACKUPS=`expr $BACKUPS - 1`
done
DATE=`date +%Y%m%d%H%M%S`
rm -f /volume1/tmp/MySql/backup/.mysqldump-${DATE}.gz_INPROGRESS
/usr/syno/mysql/bin/mysqldump --opt -uroot -pMIJNWACHTWOORD --all-databases | gzip -c -9 > /volume1/tmp/MySql/backup/.mysqldump-${DATE}.gz_INPROGRESS
mv -f /volume1/tmp/MySql/backup/.mysqldump-${DATE}.gz_INPROGRESS /volume1/tmp/MySql/backup/mysqldump-${DATE}.gz
exit 0

Mijn wachtwoord moet toch het identieke zijn wat ik ook gebruik in phpMyAdmin?  :?:

Latere toevoeging:
Hoe moet ik vanuit Kladblok dit bestand in Unix formaat opslaan?
Ik kan kiezen tussen - ANSI - Unicode - Unicode big endian - UFT-8
Zou het hiermee te maken hebben?

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.999
Re: MySQL backup
« Reactie #6 Gepost op: 13 februari 2009, 21:12:12 »
Grafcom,

Vreemd dat 't niet wil, code ziet er goed uit voor zover ik zo snel kan zien. Password idd net als phpMyAdmin.

Wellicht dat het toch aan regeleinden ligt... Ik meen dat notepad ++ o.a. een editor is die Unix formaat kan wegschijven. Zelf gebruik ik UltraEdit... Je kan natuurlijk ook op Spartaanse wijze via de prompt met vi gaan werken, of iets meer moeite doen en MC (MidnightCommander) installeren....

Overigens, het stuk waar je in blijft hangen (de laatste backups bepalen) is niet het belangrijkste... Met een beetje fantasie kun je het script natuurlijk laten lopen zonder dat gedeelte.... :wink:
't Gaat tenslotte om
DATE=`date +%Y%m%d%H%M%S`
rm -f /volume1/tmp/MySql/backup/.mysqldump-${DATE}.gz_INPROGRESS
/usr/syno/mysql/bin/mysqldump --opt -uroot -pMIJNWACHTWOORD --all-databases | gzip -c -9 > /volume1/tmp/MySql/backup/.mysqldump-${DATE}.gz_INPROGRESS
mv -f /volume1/tmp/MySql/backup/.mysqldump-${DATE}.gz_INPROGRESS /volume1/tmp/MySql/backup/mysqldump-${DATE}.gz

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline grafcom

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 272
Re: MySQL backup
« Reactie #7 Gepost op: 13 februari 2009, 21:41:29 »
Hallo Wizjos,

nu notepad gebruikt.... keuze was Unix script file.....  maar de error blijft hetzelfde.....  :(

Zal de andere optie eens bekijken en proberen.

Dank zover.  :D

Groet,
Grafcom

Offline grafcom

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 272
Re: MySQL backup
« Reactie #8 Gepost op: 13 februari 2009, 22:16:33 »
Hallo Wizjos,

eerste gedeelte weggehaald en opnieuw. Er wordt nu wel een bestand aangemaakt dat heet:
 ".mysqldump-20090213220923?.gz_INPROGRESS?"  :roll:

Krijg echter de volgende foutmelding:

.gz_INPROGRESS': No such file or directoryackup/.mysqldump-20090213220923  :shock:

Zie jij nu de fout die ik maak?

Groet,
Grafcom

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.999
Re: MySQL backup
« Reactie #9 Gepost op: 13 februari 2009, 22:36:48 »
Grafcom,

Het blijft maar een lastig ding in jouw geval....
Wordt de regel /usr/syno/mysql/bin/mysqldump --opt -uroot -pMIJNWACHTWOORD --all-databases | gzip -c -9 > /volume1/tmp/MySql/backup/.mysqldump-${DATE}.gz_INPROGRESS wel uitgevoerd?
Met deze regel wordt via gzip een mysqldump gestuurd naar een bestand met de naam .mysqldump-${DATE}.gz_INPROGRESS.
Dit .gz_INPROGRESS bestand is feitelijk al een zip bestand, want in de volgende regel (mv -f /volume1/tmp/MySql/backup/.mysqldump-${DATE}.gz_INPROGRESS /volume1/tmp/MySql/backup/mysqldump-${DATE}.gz) wordt dit bestand gerenamed naar een .gz bestand (ja, via een 'move' opdracht).

Ik zie in je voorbeeld een tweetal vraagtekens staan (".mysqldump-20090213220923?.gz_INPROGRESS?" )... Staan die er letterlijk?
Wat gebeurt er als je de eerste regel (die hierboven schuingedrukt staat) gewoon op de prompt uitvoert? -Denk er echter wel om dat $(date) niet op de prompt gebruikt kan worden. Vervang dit door een willekeurige tekst (of helemaal niets).
Heb je dan een .INPROGRESS bestand?
Als dat lukt, probeer dan eens op de prompt de tweede regel (ook weer zonder date) uit te voeren.

Ik lees het resultaat wel....

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline grafcom

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 272
Re: MySQL backup
« Reactie #10 Gepost op: 13 februari 2009, 23:02:25 »
Hallo Wizjos,

het is nu al laat, zal morgen e.e.a. eens proberen.

Groet en een fijne nacht,
Grafcom

Offline grafcom

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 272
Re: MySQL backup
« Reactie #11 Gepost op: 14 februari 2009, 11:02:38 »
Hallo Wizjos,

eerste regel via de promt, geen probleem. Bestand wordt aangemaakt.  :wink:

Tweede regel via de promt, geen probleem. Bestand wordt gerenamed   :wink:  

Vanuit het script weer dezefde vreemde melding:

.gz_INPROGRESS': No such file or directoryackup/.mysqldump-nieuwnummer  :roll:

Er wordt wel een bestand gemaakt en die ? komt door het kopieren in Windows.

Groet,
Grafcom

Toevoeging, de bestanden zijn wel even groot maar, viel me nu pas op: de namen beginnen met een .
Is volgens mij niet de bedoeling

Tweede toevoeging: stappen nog eens herhaald, ging nu twijfelen....
Maar wanneer ik het regel voor regel doe in de promt (leuke zin) klopt het en is de bestandsnaam goed gerenamed (zonder .).  :lol:

Offline grafcom

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 272
Re: MySQL backup
« Reactie #12 Gepost op: 14 februari 2009, 12:36:07 »
Hallo Wizjos,

ik heb nog eens goed zitten kijken en zie tot mijn verbazing dat de bestandsnamen "anders" zijn wanneer het via dat script loopt.

.mysqldump-20090214121321?.gz_INPROGRESS?

Achter de datum en achter INPROGRESS staat een vreemd tekentje. In de verkenner van Windows is dat nauwelijks zichtbaar maar het verklaart natuurlijk wel dat bij het renamen het bestand niet gevonden kan worden.
In dit forum wordt daar automatisch een vraagteken van gemaakt......

Offline grafcom

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 272
Re: MySQL backup
« Reactie #13 Gepost op: 15 februari 2009, 11:29:16 »
Hallo Wizjos,

GEVONDEN !

In Notepad++ de verschillende mogelijkheden zitten bekijken. Kwam de mogelijkheid "Convert to Unix Format" tegen.

En? Het gehele script werkt  :D

Tevens Cronjobs getest en werkt ook  :D

Opgelost dus!

Groet,
Grafcom

Offline raptile

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 66
  • -Ontvangen: 131
  • Berichten: 1.263
Re: MySQL backup
« Reactie #14 Gepost op: 04 oktober 2012, 00:39:48 »
Wat is er zo goed aan dit script?

werkt een  
/usr/syno/mysql/bin/mysqldump -u root --password=JE_MYSQL_WW --all-databases | gzip -9 > backup$(date +%Y-%m-%d_%>

niet net zo goed?
If UNIX isn\'t the solution, you\'ve got the wrong problem...

Is RAID hetzelfde als een backup?

Heeft het antwoord van een gebruiker je geholpen met het oplossen van je probleem?
Geef hem/haar een bedankje door op de bedankt knop te drukken!


 

Wat is MySQL aan het doen?

Gestart door MGPBoard Officiƫle Packages

Reacties: 0
Gelezen: 4299
Laatste bericht 26 april 2014, 23:40:46
door MGP
#2002 - De server reageert niet (of de MySQL-server heeft he

Gestart door rob de vriesBoard Synology DSM 5.1 en eerder

Reacties: 0
Gelezen: 1805
Laatste bericht 21 september 2010, 22:44:02
door rob de vries
Spotweb - MySql / phpMyAdmin error?

Gestart door doncalitriBoard Spotweb

Reacties: 10
Gelezen: 9782
Laatste bericht 14 maart 2011, 22:45:50
door doncalitri
wat kan er niet met php/mysql?

Gestart door AnonymousBoard Web Station

Reacties: 2
Gelezen: 9010
Laatste bericht 10 april 2008, 21:14:21
door Anonymous
Geschikt voor MySQL

Gestart door davincent1969Board Aankoopadvies

Reacties: 5
Gelezen: 2164
Laatste bericht 22 mei 2015, 15:42:39
door davincent1969