function backup_copy($source_path, $dest_path, $ID = null) { $date_start = time(); $cmd = str_replace("{SRC_PATH}", $source_path, $GLOBALS["COMMANDLINECOPY"]); $GLOBALS["MOUNTED_PATH_FINAL"] = trim($GLOBALS["MOUNTED_PATH_FINAL"]); writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] #########################################", __FUNCTION__, __FILE__, __LINE__); if ($GLOBALS["PCOPY"]) { writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] Protocol used is a local copy (PCOPY = TRUE) ", __FUNCTION__, __FILE__, __LINE__); } writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] Starting point {$GLOBALS["MOUNTED_PATH_FINAL"]}", __FUNCTION__, __FILE__, __LINE__); writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] command line={$cmd}", __FUNCTION__, __FILE__, __LINE__); if ($GLOBALS["MOUNTED_PATH_FINAL"] != null) { $dest_path = str_replace($GLOBALS["MOUNTED_PATH_FINAL"], "", $dest_path); writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] dest_path=\"{$dest_path}\"", __FUNCTION__, __FILE__, __LINE__); } $final_path = "{$GLOBALS["MOUNTED_PATH_FINAL"]}/{$dest_path}"; $final_path = str_replace('//', '/', $final_path); writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] final_path=\"{$final_path}\"", __FUNCTION__, __FILE__, __LINE__); $cmd = str_replace("{NEXT}", $final_path, $cmd); writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] Copy directory {$source_path} to \"{$final_path}\"", __FUNCTION__, __FILE__, __LINE__); if ($GLOBALS["PCOPY"]) { if (is_dir($source_path)) { writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] {$source_path} is a directory...", __FUNCTION__, __FILE__, __LINE__); if (!is_dir($final_path)) { writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] testing {$final_path} no such directory create it", __FUNCTION__, __FILE__, __LINE__); try { mkdir($final_path, 0755, true); } catch (Exception $e) { $IOERROR = $e->getMessage(); } if (!is_dir($final_path)) { backup_events($ID, "Copy", "ERROR,Dir {$final_path} {$IOERROR}", __LINE__); return false; } } } if (is_file($source_path)) { writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] {$source_path} is a file...", __FUNCTION__, __FILE__, __LINE__); } } writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] FINAL COMMAND WAS \"{$cmd}\"", __FUNCTION__, __FILE__, __LINE__); writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] EXECUTE....", __FUNCTION__, __FILE__, __LINE__); events("{$cmd}", __FUNCTION__, __LINE__); exec($cmd . " 2>&1", $results); writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] Returning an array of " . count($results) . " rows", __FUNCTION__, __FILE__, __LINE__); if (!check_rsync_error($ID, $results)) { events("check_rsync_error() !", __FUNCTION__, __LINE__); if ($ID > 0) { backup_events($ID, "Copy", "ERROR,{$cmd}", __LINE__); } } else { if ($ID > 0) { backup_events($ID, "Copy", "INFO,{$cmd}", __LINE__); } } $date_end = time(); $calculate = distanceOfTimeInWords($date_start, $date_end); events("INFO, time: {$calculate} ({$source_path})", __FUNCTION__, __LINE__); backup_events($ID, "Copy", "INFO, time: {$calculate} ({$source_path})", __LINE__); writelogs(date('m-d H:i:s') . " " . "[TASK {$ID}] #########################################", __FUNCTION__, __FILE__, __LINE__); return @implode("\n", $results); }
function backup_copy($source_path,$dest_path,$ID=null){ $date_start=time(); $cmd=str_replace("{SRC_PATH}",$source_path,$GLOBALS["COMMANDLINECOPY"]); $GLOBALS["MOUNTED_PATH_FINAL"]=trim($GLOBALS["MOUNTED_PATH_FINAL"]); writelogs(date('m-d H:i:s')." "."#########################################",__FUNCTION__,__FILE__,__LINE__); writelogs(date('m-d H:i:s')." "."Starting point {$GLOBALS["MOUNTED_PATH_FINAL"]}",__FUNCTION__,__FILE__,__LINE__); writelogs(date('m-d H:i:s')." "."command line=$cmd",__FUNCTION__,__FILE__,__LINE__); if($GLOBALS["MOUNTED_PATH_FINAL"]<>null){ $dest_path=str_replace($GLOBALS["MOUNTED_PATH_FINAL"],"",$dest_path); } $final_path="{$GLOBALS["MOUNTED_PATH_FINAL"]}/$dest_path"; $final_path=str_replace('//','/',$final_path); $cmd=str_replace("{NEXT}",$final_path,$cmd); writelogs(date('m-d H:i:s')." "."Copy directory $source_path to $final_path",__FUNCTION__,__FILE__,__LINE__); writelogs(date('m-d H:i:s')." "."$cmd",__FUNCTION__,__FILE__,__LINE__); events("$cmd",__FUNCTION__,__LINE__); exec($cmd. " 2>&1",$results); if(!check_rsync_error($ID,$results)){ events("check_rsync_error() !",__FUNCTION__,__LINE__); if($ID>0){backup_events($ID,"Copy","ERROR,$cmd");} }else{ if($ID>0){backup_events($ID,"Copy","INFO,$cmd");} } $date_end=time(); $calculate=distanceOfTimeInWords($date_start,$date_end); events("INFO, time: $calculate ($source_path)",__FUNCTION__,__LINE__); backup_events($ID,"Copy","INFO, time: $calculate ($source_path)"); writelogs(date('m-d H:i:s')." "."#########################################",__FUNCTION__,__FILE__,__LINE__); return @implode("\n",$results); }