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(); }
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")) {