ich wollte über ein Cronjob ein Backup der Mysql Datenbank machen.
es sollen 14 Tage Archiviert werden.
1) wie bekomme ich ein Shell-Script dazu eine Datei mit das Datum DB_25.6.11 anzulegen
in PHP würde ich es so codieren
$a=datum(xxx) holen im Format 25_6.11
mysqldump datenbank >datenbank_$a
Edit: Das habe ich gelösch:
mysqldump db >db-$(date +%d.%m.%y).sql
2) Wie bekomme ich ein Shell dazu, alle Datei älter als 14 Tage zu löschen
Hat hier zufällig jemand schon mal sowas programmit, und kann gute
Beispiele geben?
3)wenn ich im Shell ein dump mit
mysqldump db >db.sql mache, bekomme ich alle Tabelle.
schreibe ich es in ein PHP-Script
exec("mysqldump db >db.sql ");
bekomme ich 10 Zeilen, nicht mehr. (den Header)
woran könnte es liegen?
System: Suse11
Shellscript: Mysqldump...
-
- Project Manager
- Posts: 11190
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Shellscript: Mysqldump...
Die primitivste Lösung zu 1 und 2 ist wohl soetwas:
Zu 3: Entweder Shell oder PHP, mixen ist uncool ;)
Ernsthaft: Funktionierts mit shell_exec?
Code: Select all
#!/bin/bash
/usr/bin/mysqldump --opt --allow-keywords --default-character-set=utf8 -c -i -uroot database > /backups/database_$(date +%Y-%m-%d).sql
/usr/bin/find /backups/ -type f -name database\*.sql -mtime 13 | xargs rm
exit 0
Ernsthaft: Funktionierts mit shell_exec?
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 213
- Joined: 2007-01-13 19:58
Re: Shellscript: Mysqldump...
Falsch verstanden:Joe User wrote:Die primitivste Lösung zu 1 und 2 ist wohl soetwas:Code: Select all
#!/bin/bash /usr/bin/mysqldump --opt --allow-keywords --default-character-set=utf8 -c -i -uroot database > /backups/database_$(date +%Y-%m-%d).sql /usr/bin/find /backups/ -type f -name database\*.sql -mtime 13 | xargs rm exit 0
das werde ich mir mal genauer ansehen, vielen Dank:
Zu 3: Entweder Shell oder PHP, mixen ist uncool ;)
Ernsthaft: Funktionierts mit shell_exec?
Ich hatte zuerst ein dump über PHP versucht,
exec("mysqldump db >backup/db.sql ");
warum bring er mir nur 16 Zeilen?
Jemand eine Idee?
dann habe ich es über ein Shellscript zum vergleichen gemacht,
dort wurden alle Tabellen geschrieben
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Shellscript: Mysqldump...
Das Problem ist ggf. ein kurzer Timeout, oder der max. Verfügbare RAM für den php Prozess.
Beide möchte man eigentlich gering halten. So niederig, wie es halt geht.
Beide möchte man eigentlich gering halten. So niederig, wie es halt geht.