[GZip] script de backup compresser un repertoire en gzip
bonjour,
je voudrais automatiser un process de backup avec un script php
je connait deja les fonctions gzwrite et gzopen mais je cherche un moyen de compresser en gzip tout un repetoire
j ai reussi a faire un script qui copie un repetoire en compressant en gzip un par un les fichiers a l interieur mais c pluto le contraire que je voudrais plutot l inverse : un dossier compressé en gzip avec les fichiers dedans
est ce possible a votre avis ?
meme en utilisant autre chose que gzip eventuellement
merci d avance
edit : ci joint mon script actuel , si cela interesse quelqu un
Code:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
function gzcompressfile($path,$file,$dir, $level=false){
$dest=$dir."/".$file.'.gz';
$mode='wb'.$level;
$error=false;
if($fp_out=gzopen($dest,$mode)){
if($fp_in=fopen("$path$file",'rb')){
while(!feof($fp_in))
gzwrite($fp_out,fread($fp_in,1024*512));
fclose($fp_in);
}
else $error=true;
gzclose($fp_out);
}
else $error=true;
if($error) return false;
else return $dest;
}
function DirWalkAndCompress($path , $dir, $recursive=TRUE) {
if(!is_dir($path) || !is_readable($path))
return;
$fd = dir($path);
while($file = $fd->read()){
if(($file != ".") && ($file != "..")){
if(@is_dir("$path$file/")) {
mkdir ("$dir$file", 0777 );
$test = ($recursive)?DirWalkAndCompress("$path$file/","$dir$file/"):0;
}
else
gzcompressfile($path, $file,$dir);
}
}
$fd->close();
}
DirWalkAndCompress("./log_bruts/","./test/"); |