function backup() { $sock = new sockets(); $unix = new unix(); $pidTime = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time"; $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); echo "Starting......: " . date("H:i:s") . " [INIT]: nginx Already Artica task running PID {$pid} since {$time}mn\n"; return; } $time = $unix->file_time_min($pidTime); if ($time < 60) { return; } @file_put_contents($pidfile, getmypid()); @unlink($pidTime); @file_put_contents($pidTime, getmypid()); $SargOutputDir = $sock->GET_INFO("SargOutputDir"); if ($SargOutputDir == null) { $SargOutputDir = "/var/www/html/squid-reports"; } $BackupSargUseNas = $sock->GET_INFO("BackupSargUseNas"); if (!is_numeric($BackupSargUseNas)) { $BackupSargUseNas = 0; } $nice = EXEC_NICE(); $mount = new mount("/var/log/sarg-exec.log"); if ($BackupSargUseNas == 0) { return; } $BackupSargNASIpaddr = $sock->GET_INFO("BackupSargNASIpaddr"); $BackupSargNASFolder = $sock->GET_INFO("BackupSargNASFolder"); $BackupSargNASUser = $sock->GET_INFO("BackupSargNASUser"); $BackupSargNASPassword = $sock->GET_INFO("BackupSargNASPassword"); $mountPoint = "/mnt/BackupSargUseNas"; if (!$mount->smb_mount($mountPoint, $BackupSargNASIpaddr, $BackupSargNASUser, $BackupSargNASPassword, $BackupSargNASFolder)) { sarg_admin_events("SARG: Unable to connect to NAS storage system: {$BackupSargNASUser}@{$BackupSargNASIpaddr}", __FUNCTION__, __FILE__, __LINE__, "sarg"); return; } $BackupDir = "{$mountPoint}/sarg"; @mkdir("{$BackupDir}", 0755); if (!is_dir($BackupDir)) { if ($GLOBALS["VERBOSE"]) { echo "Fatal {$BackupDir} permission denied\n"; } sarg_admin_events("Fatal {$BackupDir} permission denied", __FUNCTION__, __FILE__, __LINE__, "sarg"); $mount->umount($mountPoint); return false; } $t = time(); @file_put_contents("{$BackupDir}/{$t}", time()); if (!is_file("{$BackupDir}/{$t}")) { sarg_admin_events("Fatal {$BackupDir} permission denied", __FUNCTION__, __FILE__, __LINE__, "sarg"); $mount->umount($mountPoint); return false; } @unlink("{$BackupDir}/{$t}"); $cp = $unix->find_program("cp"); shell_exec(trim("{$nice} {$cp} -dpR {$SargOutputDir}/* {$BackupDir}/")); $mount->umount($mountPoint); sarg_admin_events("Copy to {$BackupSargNASIpaddr}/{$BackupSargNASFolder} done", __FUNCTION__, __FILE__, __LINE__, "sarg"); }
function CHECK_SARG() { $sock = new sockets(); $EnableSargGenerator = $sock->GET_INFO("EnableSargGenerator"); if (!is_numeric($EnableSargGenerator)) { $EnableSargGenerator = 0; } $f[] = "/etc/squid3/sarg-configured-1.8.012202.conf"; $f[] = "/etc/cron.daily/0sarg.sh"; $f[] = "/etc/cron.hourly/0sarg.sh"; $f[] = "/etc/cron.weekly/0sarg.sh"; $f[] = "/etc/cron.monthly/0sarg.sh"; $f[] = "/etc/squid3/sarg.conf"; if ($EnableSargGenerator == 0) { while (list($num, $filepath) = each($f)) { if (is_file($filepath)) { @unlink($filepath); } } return; } $confifg = true; while (list($num, $filepath) = each($f)) { if (!is_file($filepath)) { $missing = $filepath; $confifg = false; break; } } if (!$confifg) { $unix = new unix(); $php = $unix->LOCATE_PHP5_BIN(); sarg_admin_events("Reconfiguring sarg (missing {$missing})", __FUNCTION__, __FILE__, __LINE__); squid_admin_mysql(2, "SARG: Reconfiguring sarg", null, __FILE__, __LINE__); shell_exec("{$php} " . basename(__FILE__) . "/exec.sarg.php --conf 2>&1"); } }