function squid_running_schedules()
{
    $TimeFile = "/etc/artica-postfix/pids/exec.squid.run.schedules.php.time";
    $pidfile = "/etc/artica-postfix/pids/exec.squid.run.schedules.php.pid";
    $unix = new unix();
    $pid = @file_get_contents($pidfile);
    if ($pid < 100) {
        $pid = null;
    }
    if ($unix->process_exists($pid, basename(__FILE__))) {
        $timepid = $unix->PROCCESS_TIME_MIN($pid);
        _statussquid("{$pid} already executed since {$timepid}Mn");
        if ($timepid < 5) {
            return;
        }
        $kill = $unix->find_program("kill");
        unix_system_kill_force($pid);
    }
    @file_put_contents($pidfile, getmypid());
    if (!$GLOBALS["VERBOSE"]) {
        $time = $unix->file_time_min($TimeFile);
        if ($time < 4) {
            _statussquid("Current {$time}Mn need 5Mn");
            return;
        }
    }
    @unlink($TimeFile);
    @file_put_contents($TimeFile, time());
    $StatsApplianceReceivers = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/StatsApplianceReceivers"));
    $SquidPerformance = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/SquidPerformance"));
    $BASEDIR = "/usr/share/artica-postfix";
    $SQUIDEnable = $GLOBALS["CLASS_SOCKETS"]->GET_INFO("SQUIDEnable");
    if (!is_numeric($SQUIDEnable)) {
        $SQUIDEnable = 1;
    }
    if (function_exists("systemMaxOverloaded")) {
        if (systemMaxOverloaded()) {
            squid_admin_mysql(1, "{$GLOBALS["SYSTEM_INTERNAL_LOAD"]}: System is overloaded, Artica tasks as been aborted", null, __FILE__, __LINE__);
            _statussquid("Overloaded system, aborting...");
            return;
        }
    }
    if ($SQUIDEnable == 0) {
        return;
    }
    $filetimeF = "/etc/artica-postfix/pids/exec.squid.watchdog.php.start_watchdog.time";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 5) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.watchdog.php >/dev/null 2>&1 &");
    }
    $filetimeF = "/usr/share/artica-postfix/ressources/logs/web/squid_mem_status.html";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 5) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.watchdog.php --mem-status >/dev/null 2>&1 &");
    }
    $filetimeF = "/usr/share/artica-postfix/ressources/logs/web/SQUID_MGR_INFO.DB";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 15) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.watchdog.php --info >/dev/null 2>&1 &");
    }
    $filetimeF = "/usr/share/artica-postfix/ressources/logs/web/squid_stores_status.html";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 20) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.watchdog.php --store-status >/dev/null 2>&1 &");
    }
    $filetimeF = '/etc/artica-postfix/pids/Winbindd_privileged_SQUID.time';
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 5) {
        $GLOBALS["CLASS_UNIX"]->Winbindd_privileged_SQUID();
        @unlink($filetimeF);
        @file_put_contents($filetimeF, time());
    }
    $filetimeF = '/etc/artica-postfix/pids/EnableKerbAuth.time';
    $EnableKerbAuth = intval($GLOBALS["CLASS_SOCKETS"]->GET_INFO("EnableKerbAuth"));
    if ($EnableKerbAuth == 1) {
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($filetime > 5) {
            @unlink($filetimeF);
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.kerbauth.php --pinglic >/dev/null 2>&1 &");
            @file_put_contents($filetimeF, time());
        }
    }
    $filetimeF = '/etc/artica-postfix/pids/DisableGoogleSSL.time';
    $EnableGoogleDNS = 1;
    $DisableGoogleSSL = intval($GLOBALS["CLASS_SOCKETS"]->GET_INFO("DisableGoogleSSL"));
    $EnableGoogleSafeSearch = $GLOBALS["CLASS_SOCKETS"]->GET_INFO("EnableGoogleSafeSearch");
    if (!is_numeric($EnableGoogleSafeSearch)) {
        $EnableGoogleSafeSearch = 1;
    }
    if ($DisableGoogleSSL == 0) {
        if ($EnableGoogleSafeSearch == 0) {
            $EnableGoogleDNS = 0;
        }
    }
    if ($EnableGoogleDNS == 1) {
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($GLOBALS["CLASS_UNIX"]->file_time_min($filetime) > 4320) {
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.nosslsearch.google.com.php --run >/dev/null 2>&1 &");
            @unlink($filetimeF);
            @file_put_contents($filetimeF, time());
        }
    }
    $filetimeF = "/etc/artica-postfix/pids/exec.squid.php.Defaultschedules.time";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 120) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.php --defaults-schedules");
    }
    if ($SquidPerformance < 2) {
        $filetimeF = "/etc/artica-postfix/pids/exec.squid.stats.central.php.import.statistics.time";
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($filetime > 120) {
            @unlink("/etc/artica-postfix/pids/exec.squid.stats.central.php.import.statistics.time");
            @file_put_contents("/etc/artica-postfix/pids/exec.squid.stats.central.php.import.statistics.time", time());
            stats_admin_events(2, "Launching importation tables task", null, __FILE__, __LINE__);
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.stats.central.php --import");
        }
    }
    if ($SquidPerformance < 2) {
        $filetimeF = "/etc/artica-postfix/pids/exec.squid.stats.not-categorized.php.not_categorized_scan.time";
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($filetime > 120) {
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.stats.not-categorized.php --recategorize >/dev/null 2>&1 &");
        }
    }
    if ($SquidPerformance < 2) {
        $filetimeF = "/etc/artica-postfix/pids/exec.squid.stats.totals.php.donnees_interface.pid";
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($filetime > 30) {
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.stats.totals.php --interface >/dev/null 2>&1 &");
        }
    }
    if ($SquidPerformance < 2) {
        $filetimeF = "/etc/artica-postfix/pids/exec.squid.stats.quota-week.parser.php.time";
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($filetime > 1880) {
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.stats.quota-week.parser.php >/dev/null 2>&1 &");
        }
    }
    if ($SquidPerformance < 2) {
        $filetimeF = "/etc/artica-postfix/pids/exec.squid.stats.mime.proto.php.time";
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($filetime > 19) {
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.stats.mime.proto.php >/dev/null 2>&1 &");
        }
    }
    if ($SquidPerformance < 2) {
        $filetimeF = "/etc/artica-postfix/pids/YoutubeByHour.time";
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($filetime > 61) {
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.stats.youtube.days.php --youtube-hours >/dev/null 2>&1 &");
        }
    }
    $filetimeF = "/etc/artica-postfix/pids/exec.squid.php.rotate_logs.pid";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 60) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.php --rotate >/dev/null 2>&1 &");
    }
    $filetimeF = "/etc/artica-postfix/pids/exec.squid.rotate.php.build.time";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 120) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.rotate.php >/dev/null 2>&1 &");
    }
    if ($SquidPerformance < 3) {
        $SquidEnforceRules = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/SquidEnforceRules"));
        if ($SquidEnforceRules == 1) {
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squidcache.php >/dev/null 2>&1 &");
        }
    }
    $filetimeF = "/usr/share/artica-postfix/ressources/logs/web/squid_redirectors_status.db";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 10) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.watchdog.php --redirector-array >/dev/null 2>&1 &");
    }
    if ($SquidPerformance < 2) {
        $filetimeF = "/etc/artica-postfix/pids/exec.squid.interface-size.php.CachedOrNot.time";
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($filetime > 4) {
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.interface-size.php --cache-or-not >/dev/null 2>&1 &");
        }
    }
    $filetimeF = "/etc/artica-postfix/settings/Daemons/StatsApplianceReceivers";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 4) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.squid.interface-size.php --stats-apps-clients >/dev/null 2>&1 &");
    }
    if ($StatsApplianceReceivers > 0) {
        $filetimeF = "/etc/artica-postfix/pids/exec.stats-appliance-clean.php.start_parse.time";
        $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
        _statussquid(basename($filetimeF) . ": {$filetime}Mn");
        if ($filetime > 59) {
            shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.stats-appliance-clean.php >/dev/null 2>&1 &");
        }
    }
    $filetimeF = "/etc/artica-postfix/pids/exec.clean.varlog.php.varlog.time";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 15) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.clean.varlog.php >/dev/null 2>&1 &");
    }
    $filetimeF = "/etc/artica-postfix/pids/exec.ufdb.parse-categories.php.time";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 60) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.ufdb.parse-categories.php >/dev/null 2>&1 &");
    }
    $filetimeF = "/etc/artica-postfix/pids/exec.mysqld.crash.php.check_crashed_squid.time";
    $filetime = $GLOBALS["CLASS_UNIX"]->file_time_min($filetimeF);
    _statussquid(basename($filetimeF) . ": {$filetime}Mn");
    if ($filetime > 120) {
        shell_exec2("{$GLOBALS["nohup"]} {$GLOBALS["NICE"]} {$GLOBALS["PHP5"]} {$BASEDIR}/exec.mysqld.crash.php --crashed-squid >/dev/null 2>&1 &");
    }
    squid_tasks();
}
Exemple #2
0
    squid_tasks();
    crossroads();
    udfbguard_admin_events();
    dhcpd_logs();
    die;
}
if ($argv[1] == '--psmem') {
    ps_mem(true);
    squid_tasks();
    crossroads();
    udfbguard_admin_events();
    dhcpd_logs();
    die;
}
if ($argv[1] == '--squid-tasks') {
    squid_tasks(true);
    die;
}
function build_server_mode()
{
    $sock = new sockets();
    $ActAsASyslogServer = $sock->GET_INFO("ActAsASyslogServer");
    if (!is_numeric($ActAsASyslogServer)) {
        echo "Starting......: syslog server parameters not defined, aborting tasks\n";
    }
    if (is_file("/etc/default/syslogd")) {
        echo "Starting......: syslog old syslog mode\n";
        build_server_mode_debian();
        return;
    }
    if (is_dir("/etc/rsyslog.d")) {