Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
mysqldumper exportiert leere files [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
mysqldumper exportiert leere files


 
florian_ch
24-08-2008, 16:22 
 
Hallo zusammen,

Ich sollte in regelmässigen Abständen aus einer MySQL-Datenbank "datenbankA" ein Backup einer einzelnen Tabelle "tabelleA" anfertigen, einmal als *.txt-Datei zur Weiterverwendung in Excel (CSV), einmal als SQL-Datei. Folgendes habe ich im cpanel als Cronjob definiert:

mysqldump -ubenutzer -ppasswort --tab=/home/benutzer/public_html/backups/admissions.txt datenbankA tabelleA > /home/benutzer/public_html/backups/admissions.sql

Das Verzeichnis "backups" hat die CHMOD-Werte 775.

Wenn der Cron Job abläuft, wird zwar die admissions.sql angelegt, allerdings als völlig leere Datei (Grösse: 0kb), von einer admissions.txt ist gar nichts zu sehen...

Danke für Eure Hilfe.by TobiaZ: Code umgebrochen.

 
MelloPie
25-08-2008, 08:17 
 
Sollte dort als parameter nicht lediglich ein pfad angegeben werden, also keine zieldatei, da mysqldump automatisch je tabelle zwei dateien anlegt?

 
florian_ch
25-08-2008, 09:12 
 
Guten Morgen! Danke - ja, das war ein Grund... Habe es nun geändert zu

mysqldump -ubenutzer -ppasswort --tab=/home/public_html/backups/ databaseA tableA

das .sql-File sieht jetzt besser aus, nämlich so:

-- MySQL dump 10.11
--
-- Host: localhost Database: databaseA-- ------------------------------------------------------
-- Server version 5.0.45-community-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `tableA`
--

DROP TABLE IF EXISTS `tableA`;
CREATE TABLE `tableA` (

[die ganzen Spalten der Tabelle]

PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2008-08-25 6:56:01

allerdings wird immer noch kein Text-File mit den Werten der Tabelle geschrieben, stattdessen erhalte ich folgende Fehlermeldung:

mysqldump: Got error: 1045: Access denied for user 'benutzer'@'localhost' (using password: YES) when executing 'SELECT INTO OUTFILE'

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:11 Uhr.