BackUp сообщений голосовой почты

Скрипты PHP, PERL и т.п. помогающие управлять сетью

BackUp сообщений голосовой почты

Сообщение dimondack » 10 сен 2019, 21:58

Код: Выделить всё
<?php
$dt = date('Ymd');

$fdir = scandir('/var/spool/asterisk/voicemail/v_mail');
foreach($fdir as $val ){
if (is_dir($val) !==false ) {continue;}
//echo $val."\n";
$ddr = "/var/spool/asterisk/voicemail/v_mail/$val/INBOX";
$cdir = scandir($ddr);
$cnt = 1;
foreach($cdir as $f ){
//echo $f."\n";
$p = strripos($f,'msg009'); // если больше 90
if($p !==false){$cnt=0;break; /*echo $f."\n";*/}
}
//echo $val."\t".$cnt."\n";
if($cnt == 0){
$bkp_dir = "/home/dack/backup_voicemail/_$dt";
if($bkp_dir !== false ){ mkdir($bkp_dir);}
$bkp_ddir=$bkp_dir."/$val";
//echo $bkp_dir."\n";
mkdir($bkp_ddir);
xcopy($ddr,$bkp_ddir);
$ddf = $ddr."/*";
del_files($ddf );
}
}





////////////////////////Functions
function xcopy($src, $dest) {
    foreach (scandir($src) as $file) {
        if (!is_readable($src . '/' . $file)) continue;
        if (is_dir($src .'/' . $file) && ($file != '.') && ($file != '..') ) {
            mkdir($dest . '/' . $file);
            xcopy($src . '/' . $file, $dest . '/' . $file);
        } else {


$p = strpos($file,".");
if($p === 0){ continue;}
//if($p == false){ copy($src . '/' . $file, $dest . '/' . $file);}
        copy($src . '/' . $file, $dest . '/' . $file);
        }
    }
}

function del_files ($path){

//$files = glob('path/to/temp/*'); // get all file names
$files = glob($path); // get all file names
foreach($files as $file){ // iterate files
  if(is_file($file))
    unlink($file); // delete file
}
}

?>
Нас определяет то, что мы делаем.
Аватара пользователя
dimondack
посетитель
 
Сообщения: 103
Зарегистрирован: 21 янв 2015, 13:00

Вернуться в Программинг и сети

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8