Hi,
ich versuche auf meinem webspace einen bestimmten ordner mit tar und gzip zu archivieren, leider wird das "endprodukt" immer nur 20 bytes groß bzw. klein
Vorabinfos:
- PHP Version 4.3.9
- exec = "erlaubt"
- /etc/phpCgi/php.ini = phpCgi
- safe_mode = Off
- safe_mode_exec_dir = "no value"
- _SERVER["HTTP_ACCEPT_ENCODING"] = gzip, deflate
- max_execution_time = 30
- /www/htdocs/xxxx/backup/files/ = chmod 777
Habe mir bereits gzip und tar angeschaut, aber bin nicht wirktlich schlauer
Achja: das script läuft OHNE timeout durch, weil das verzeichnis "_tmp" eh erst um die 2 MB groß ist
für Hilfe wär ich sehr dankbar
LÖSUNG: PEAR Archive_Tar (da bei meinem provider TAR per exec nicht verfügbar ist)
MfG n_joy
ich versuche auf meinem webspace einen bestimmten ordner mit tar und gzip zu archivieren, leider wird das "endprodukt" immer nur 20 bytes groß bzw. klein
Vorabinfos:
- PHP Version 4.3.9
- exec = "erlaubt"
- /etc/phpCgi/php.ini = phpCgi
- safe_mode = Off
- safe_mode_exec_dir = "no value"
- _SERVER["HTTP_ACCEPT_ENCODING"] = gzip, deflate
- max_execution_time = 30
- /www/htdocs/xxxx/backup/files/ = chmod 777
PHP-Code:
<?php
exec("tar -c /www/htdocs/xxxx/_tmp/ | gzip > /www/htdocs/xxxx/backup/files/dir._tmp.tar.gz");
echo 'fertig...';
?>
Achja: das script läuft OHNE timeout durch, weil das verzeichnis "_tmp" eh erst um die 2 MB groß ist
für Hilfe wär ich sehr dankbar
LÖSUNG: PEAR Archive_Tar (da bei meinem provider TAR per exec nicht verfügbar ist)
PHP-Code:
<?php
require ("Archive/Tar.php");
$files_to_add[0]="../_tmp";
// ....tar.gz",""); < statt "" kann man auch "gz" oder "bz2" schreiben
// "" = die einzelnen Dateien und Ordner werden nicht-gepackt ins backuptest.tar.gz hinzugefügt (beispiel: testbild.jpg)
// "gz" = die einzelnen Dateien und Ordner werden als gz-Datei ins backuptest.tar.gz hinzugefügt (beispiel: testbild.jpg.gz)
// "bz2" = die einzelnen Dateien und Ordner werden als bz2-Datei ins backuptest.tar.gz hinzugefügt (beispiel: testbild.jpg.bz2)
$tar = new Archive_tar("../backup/files/backuptest.tar.gz","");
$tar -> add( $files_to_add );
$tar -> _Archive_Tar();
if ( ($file_list = $tar->ListContent()) != 0) {
/**
* Dateien sind enthalten
*/
foreach ($file_list as $v) {
printf('
[ Name: <span style="color:#FF0000; font-family:Arial, Helvetica, sans-serif; font-size:12px;">%s</span> ]
[ <span style="color:#6666FF; font-family:Arial, Helvetica, sans-serif; font-size:12px;">%d</span> ]
[ modtime: %s ]
[ mode: %s ] <br>',
$v['filename'],$v['size'],$v['mtime'],$v['mode']);
}
}
// und wer den extract-befehl noch braucht:
// $tar->extract('../backup/Archive/');
echo '<br>fertig...';
?>
Kommentar