Example #1
0
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);
}
Example #2
0
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);
		
}