Per Cron mehrere Tabellen leeren

  • Thread starter Thread starter X-Trancer
  • Start date Start date
X

X-Trancer

Guest
Hab da ein Script gefunden

Code:
#!/bin/bash
mysql --user=root --password=*** --database=usr_web2_1 -e 'TRUNCATE TABLE Tabellenname' 

echo "#######################################"
echo "# MySQL-Datenbank erfolgreich geleert #"
echo "#######################################"

Kann das gehen? Und kann man das ausbauen auf mehrere Tabellen?
 
Hallo X-Trancer,

du musst das Script selbstverständlich noch anpassen, da der TRUNCATE so natürlich nicht ausgeführt wird, da die Tabellendaten nicht stimmen.

Versuche doch einfach mal den TRUNCATE im PMA aus und schaue ob das ergebnis das ist, welches du haben willst.

Wenn ja, dann führst du den mysql Consolen Befehl mal auf der Shell aus und guckst, ob es irgendwelche Fehler gibt.

Wenn nein, dann kannst du das Script (angepasst auf deine Daten natürlich) in deinen Cron einbinden.

Wenn du ihn erweitern willst, dann machst du es entweder so, dass das Script sich via MySQL Console für jede Tabelle einzeln verbindet (am einfachsten) oder du musst den Befehl so anpassen, dass mehrere Datenbanken nacheinander ausgewählt werden.

Lieben Gruß
Free
 
Hallo X-Trancer,

da ich nicht nur eine Zeile geschrieben habe, weiss ich leider nicht so genau worauf sich deine Frage bezieht.

Von was weisst du nicht wie du es machst?

Was liefert dir mein erster Vorschlag? (PMA)

Lieben Gruß
Free
 
Hallo X-Trancer,

lies dir doch mal die MySQL Manual zum Thema TRUNCATE durch, dort solltest du finden, was du suchst.

Lieben Gruß
Free
 
'TRUNCATE TABLE Tabellenname'
SQL-Strings werden mit einem Semikolon getrennt. Mehrere Tabellen in einer Datenbank:
Code:
TRUNCATE TABLE Tabelle1; TRUNCATE TABLE Tabelle2;
Mehrere Tabellen in verschiedenen Datenbanken:
Code:
TRUNCATE TABLE usr_web2_1.Tabelle1; TRUNCATE TABLE usr_web2_2.Tabelle2;

huschi.
 
#!/bin/bash
mysql --user=root --password=*** --database=fantasy -e 'TRUNCATE TABLE Tabellenname; TRUNCATE TABLE Tabellenname2;'

echo "#######################################"
echo "# MySQL-Datenbank erfolgreich geleert #"
echo "#######################################"

Würde das Script so stimmen?
 
Back
Top