Okee, eerst maar eens vertellen wat de bedoeling is. Ik heb een website gebouwd voor een bedrijf waar belangrijke informatie staat opgeslagen in de database. De database wijzigt dagelijks en het is belangrijk dat geen enkele informatie verloren gaat. Backuppen dus! Ik zou dagelijks PhpMyAdmin kunnen openen en export kunnen doen. Als dit dagelijks moet, is dat niet echt handig en volgens mij kan tegenwoordig alles geautomatiseerd worden
Ik wil dus via een crontab een phpscript aanroepen die voor mij de backup emailt.
Mogelijkheden die ik geprobeerd heb:
1. mysqldump (datgene wat ik heb geprobeerd staat hieronder vermeld)
2. SELECT * INTO OUTFILE (krijg permission denied)
3. BACKUP TABLE (krijg permission denied)
Wat het vreemde is bij mysqldump. Wanneer ik deze aanroep via een crontab voert hij het wel uit en wordt de output wel opgeslagen in een file, maar wanneer ik het via php doe gebeurt er niks terwijl ik hetzelfde commando geef
/usr/bin/mysqldump of mysqldump maakt geen verschil
Ook bij mogelijkheden 2 en 3 heb ik me verbaasd aangezien de CHMOD gewoon goed staat voor de directories!
Ik ben alsurfende op dit forum ook nog deze mogelijkheid tegengekomen:
- CSV Mysql Backup of iets dergelijks, maar daarbij kreeg ik een brokenlink
Mogelijkheden waar ik zelf nog aan heb gedacht, maar waarbij ik gebrek heb aan kennis en het ook niet heb gevonden via google:
- shell script met daarin mysqldump en iets als sendmail
Ik ben niet iemand die snel iets post omdat ik het altijd zelf altijd wel uitvinden, leer je ook meer van, maar nu ben ik zal ik maar zeggen ook ten einde raad!
Ik wil dus via een crontab een phpscript aanroepen die voor mij de backup emailt.
Mogelijkheden die ik geprobeerd heb:
1. mysqldump (datgene wat ik heb geprobeerd staat hieronder vermeld)
2. SELECT * INTO OUTFILE (krijg permission denied)
3. BACKUP TABLE (krijg permission denied)
Wat het vreemde is bij mysqldump. Wanneer ik deze aanroep via een crontab voert hij het wel uit en wordt de output wel opgeslagen in een file, maar wanneer ik het via php doe gebeurt er niks terwijl ik hetzelfde commando geef
/usr/bin/mysqldump of mysqldump maakt geen verschil
Ook bij mogelijkheden 2 en 3 heb ik me verbaasd aangezien de CHMOD gewoon goed staat voor de directories!
Ik ben alsurfende op dit forum ook nog deze mogelijkheid tegengekomen:
- CSV Mysql Backup of iets dergelijks, maar daarbij kreeg ik een brokenlink
Mogelijkheden waar ik zelf nog aan heb gedacht, maar waarbij ik gebrek heb aan kennis en het ook niet heb gevonden via google:
- shell script met daarin mysqldump en iets als sendmail
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <? $command="mysqldump --user=x --password=x --host=x -e --databases x x x x x > /path/to/backup/directory/test.sql"; // system print "a"; $result=system($command); print $result; // shell exec print "b"; $result=shell_exec($command); print $result; print "e"; $result=exec($command); print $result; require ("require/database.php"); mysql_select_db("x"); $result = mysql_list_tables("x"); while ($array=mysql_fetch_array($result)) { $query="SELECT * INTO OUTFILE '" . $array[0] . ".sql' FROM " . $array[0]; print $query . "<br>"; $exec_query=mysql_query($query) or die (mysql_error()); } ?> |
Ik ben niet iemand die snel iets post omdat ik het altijd zelf altijd wel uitvinden, leer je ook meer van, maar nu ben ik zal ik maar zeggen ook ten einde raad!
[ Voor 9% gewijzigd door Verwijderd op 20-08-2003 13:33 ]