Doe verder bij fouten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan R

Jan R

19/05/2018 08:22:06
Quote Anchor link
Hoi,

Ik heb een backup en restore script. Soms sluipt daar een fout in. Hoe kan ik de restore doen verder lopen als er een fout optreed en toch nog de fouten zien.

Nu doe ik elk commando afzonderlijk via een array maar dit is redelijk traag op mijn nas. Bijna 6 min.

Voorbeeld bestand
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Called from: 1.2.3.4

DROP TABLE IF EXISTS VIER_aside;

CREATE TABLE VIER_aside (
  id int(11) NOT NULL AUTO_INCREMENT,
  titel text COLLATE utf8_unicode_ci NOT NULL,
  tekst text COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO VIER_aside VALUES("1", "Winnaar 2015-2016", "Het toernooi 2015-2016 is gewonnen door SKVV ");
INSERT INTO VIER_aside VALUES("4", "2016-2017", "Het toernooi 2016-2017 zal doorgaan te Laarne op 17 oktober, 13 februari en 8 mei");
INSERT INTO VIER_aside VALUES("6", "Winnaar 2016-2017", "Het toernooi 2016-2017 is gewonnen door SC Gentbrugge");

in werkelijkheid zijn er 58 tabellen . op het einde heb ik deze melding
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
Restore gedaan!
Opdrachten: 40516
Fouten: 0
Bestandsgrootte: 4 848 789
Duur: 00:01:51.171

Jan
Gewijzigd op 19/05/2018 08:31:27 door Jan R
 
PHP hulp

PHP hulp

29/03/2024 02:37:09
 
Rob Doemaarwat

Rob Doemaarwat

19/05/2018 08:36:11
Quote Anchor link
En welke fouten loop je dan tegen aan?
Maar even copy+paste van de buren ( https://stackoverflow.com/questions/11263018/mysql-ignore-errors-when-importing )
Quote:
Use the --force (-f) flag on your mysql import. Rather than stopping on the offending statement, MySQL will continue and just log the errors to the console.

For example:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysql -u userName -p -f -D dbName < script.sql
 
Jan R

Jan R

19/05/2018 11:22:12
Quote Anchor link
Bedankt maar niet echt wat ik zoek. Het heeft wel al geholpen :)

Mijn script is php en gezien de back-up wijzigt van naam kan ik dit in een cmd-bestand niet automatiseren onder Windows laat staan op de nas. Nu doe ik een restore via http://localhost/backup/restore.php?file=www.xxxx.be_db-backup-20180519-1111_0e442f493f0b75149799e90bbfa694e1.sql
De verschillende bestanden worden via glob getoont in een <a> tag


De command-line toont ook niet waar de fout zit. at line klopt niet


Localhost wijzigt natuurlijk als ik op de nas werk

Jan

Toevoeging op 19/05/2018 11:24:48:

ps: nu alle fouten opgelost zijn doet de commandline er even lang over als het php script via array
 
Thomas van den Heuvel

Thomas van den Heuvel

19/05/2018 13:41:26
Quote Anchor link
Quote:
Soms sluipt daar een fout in.

Als je op een of andere manier (beter kunt) garanderen dat dat niet gebeurt zou dat natuurlijk beter zijn.

Backups en restores zouden ongeforceerd moeten werken, anders is dat een indicatie dat er iets mis is met de integriteit van je data. Dan krijg je toch een beetje de situatie zoals iemand placht te zeggen "shit in, shit out".
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.