Datenbank aus Shellscript-Sicherung wiederherstellen: Fehler gefunden?
bearbeitet von Raketenwilli> Hallo Willi,
>
> > `grep` kann sowas:
> >
>
> fein. 😀
>
> Nur, wozu soll ich die genaue Zeile raussuchen, ich weiß doch, dass besagte Anweisung in Zeile 31 steht.
> Habe das jetzt dennoch mit Deiner Methode gegengeprüft, aber das wußte ich auch vorher schon, weil ich ja die entpackte Datei (den Dump) kenne.
>
> Noch nicht ganz verstanden habe ich, wie ich folgende Zeile mit diesem Wissen anpassen muss.
>
>
> > ~~~
> > $> gunzip -c backup.sql.gz | grep -vP "^USE myDB;$" | mysql …
> > ~~~
> >
>
> Die ganze Datei durchlaufen lassen
Klar. Es soll ja die ganze Datei - ohne die Zeile 'USE myDB;' zur Datenbank geleitet werden.
Wenn die Zeile im Dump, angenommen mit 'USE myDB;' tatsächlich 'use foo0815;' lautet, dann ändere den Aufruf in
~~~
gunzip -c backup.sql.gz | grep -vP "^useuse foo0815;$" | mysql …
~~~
>
> > `grep` kann sowas:
> >
>
> fein. 😀
>
> Nur, wozu soll ich die genaue Zeile raussuchen, ich weiß doch, dass besagte Anweisung in Zeile 31 steht.
> Habe das jetzt dennoch mit Deiner Methode gegengeprüft, aber das wußte ich auch vorher schon, weil ich ja die entpackte Datei (den Dump) kenne.
>
> Noch nicht ganz verstanden habe ich, wie ich folgende Zeile mit diesem Wissen anpassen muss.
>
>
> > ~~~
> > $> gunzip -c backup.sql.gz | grep -vP "^USE myDB;$" | mysql …
> > ~~~
> >
>
> Die ganze Datei durchlaufen lassen
Klar. Es soll ja die ganze Datei - ohne die Zeile 'USE myDB;' zur Datenbank geleitet werden.
Wenn die Zeile im Dump, angenommen mit 'USE myDB;' tatsächlich 'use foo0815;' lautet, dann ändere den Aufruf in
~~~
gunzip -c backup.sql.gz | grep -vP "^use
~~~
Datenbank aus Shellscript-Sicherung wiederherstellen: Fehler gefunden?
bearbeitet von Raketenwilli> Hallo Willi,
>
> > `grep` kann sowas:
> >
>
> fein. 😀
>
> Nur, wozu soll ich die genaue Zeile raussuchen, ich weiß doch, dass besagte Anweisung in Zeile 31 steht.
> Habe das jetzt dennoch mit Deiner Methode gegengeprüft, aber das wußte ich auch vorher schon, weil ich ja die entpackte Datei (den Dump) kenne.
>
> Noch nicht ganz verstanden habe ich, wie ich folgende Zeile mit diesem Wissen anpassen muss.
>
>
> > ~~~
> > $> gunzip -c backup.sql.gz | grep -vP "^USE myDB;$" | mysql …
> > ~~~
> >
>
> Die ganze Datei durchlaufen lassen
Klar. Es soll ja die ganze Datei - ohne die Zeile 'USE myDB;' zur Datenbank geleitet werden.
Wenn die Zeile im Dump, angenommen mit 'USE myDB;' tatsächlich 'use foo0815;' lautet, dann ändere den Aufruf in
~~~
gunzip -c backup.sql.gz | grep -vP "^use use foo0815;$" | mysql …
~~~