function ALL_STATUS($aspid = false) { $unix = new unix(); if ($GLOBALS["VERBOSE"]) { $cmdline_verbose = " --verbose"; $GLOBALS["OUTPUT"] = true; } if (!$aspid) { $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); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . "Already `task` running PID {$pid} since {$time}mn\n"; } system_admin_events("stop_squid::Already task running PID {$pid} since {$time}mn", __FUNCTION__, __FILE__, __LINE__, "proxy"); return; } @file_put_contents($pidfile, getmypid()); } build_progress_status("verify_var_log()", 2); verify_var_log(); squeezer(); build_progress_status("squid_stores_status()", 5); squid_stores_status(); build_progress_status("squid_mem_status()", 8); squid_mem_status(); build_progress_status("squid_memory_monitor()", 9); squid_memory_monitor(); build_progress_status("bandwith_stats_today()", 9); bandwith_stats_today(); build_progress_status("squid_cache_mem_current()", 9); squid_cache_mem_current(); build_progress_status("redirectors_array()", 9); redirectors_array(); $php5 = $unix->LOCATE_PHP5_BIN(); build_progress_status("CheckGlobalInfos()", 10); CheckGlobalInfos(); build_progress_status("CheckRequestsStats()", 15); CheckRequestsStats(); build_progress_status("ALLKIDS()", 20); ALLKIDS(); build_progress_status("C_ICAP_CLIENTS()", 22); C_ICAP_CLIENTS(); build_progress_status("squid_stores_status()", 30); squid_stores_status(); build_progress_status("{caches_center} {status}", 30); cache_center_status(); if ($GLOBALS["FORCE"]) { build_progress_status("CacheInfos()", 50); system("{$php5} /usr/share/artica-postfix/exec.squid.php --cache-infos --force{$cmdline_verbose}"); build_progress_status("{caches_center}", 60); system("{$php5} " . __FILE__ . " --caches-center --force{$cmdline_verbose}"); } build_progress_status("Done...", 100); }
function remove_database($allprocedure = false) { $unix = new unix(); $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; if ($allprocedure) { $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); build_progress_status(100, "Already task running PID {$pid}"); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: Already task running PID {$pid} since {$time}mn\n"; } return; } } $mysql = $unix->find_program("mysql"); $rm = $unix->find_program("rm"); $sock = new sockets(); build_progress_status(2, "Stopping monitor"); shell_exec("/etc/init.d/monit stop"); shell_exec("/etc/init.d/artica-status stop --force"); shell_exec("/etc/init.d/postfix-logger stop"); build_progress_status(5, "Removing MySQL Zarafa Database"); WriteToSyslogMail("Action: Removing Zarafa Database MySQL client `{$mysql}`....", __FILE__); $cmd = "{$mysql} --socket=/var/run/mysqld/zarafa-db.sock --protocol=socket --user=root --batch --debug-info --database=zarafa --execute=\"DROP DATABASE zarafa\" 2>&1"; $results = array(); exec("{$cmd}", $results); $WORKDIR = $sock->GET_INFO("ZarafaDedicateMySQLWorkDir"); if ($WORKDIR == null) { $WORKDIR = "/home/zarafa-db"; } while (list($num, $ligne) = each($results)) { echo WriteToSyslogMail("MySQL: (Delete Database) {$ligne}", __FILE__); } build_progress_status(10, "Removing Zarafa Database MySQL"); if (is_dir("{$WORKDIR}")) { recursive_remove_directory("{$WORKDIR}"); } WriteToSyslogMail("Action: Restarting MySQL service...", __FILE__); WriteToSyslogMail("Action: Stopping MySQL service...", __FILE__); build_progress_status(15, "Stopping MySQL Zarafa Database"); build_progress_status(40, "Stopping Zarafa Server service"); WriteToSyslogMail("Action: Stopping Zarafa server...", __FILE__); @unlink("/tmp/zarafa-upgrade-lock"); system("/etc/init.d/zarafa-server stop --kill"); stop(true); WriteToSyslogMail("Action: Starting MySQL service (InnoDB recovery mode)...", __FILE__); build_progress_status(20, "Starting MySQL Zarafa Database (InnoDB recovery mode)"); start(true, true); while (list($num, $ligne) = each($results)) { echo "Service: {$ligne}\n"; } sleep(5); $ZARAFADB_PID = ZARAFADB_PID(); if (!$unix->process_exists($ZARAFADB_PID)) { build_progress_status(110, "{failed}"); return; } if ($allprocedure) { build_progress_status(25, "Restarting MySQL service (normal)"); echo "Action: Restarting MySQL service...\n"; echo "Action: Stopping MySQL service...\n"; build_progress_status(30, "Stopping MySQL service (normal)"); stop(true); echo "Action: Starting MySQL service (InnoDB normal mode)...\n"; build_progress_status(35, "Starting MySQL service (normal)"); start(true, false); while (list($num, $ligne) = each($results)) { echo "Service: {$ligne}\n"; } sleep(5); $ZARAFADB_PID = ZARAFADB_PID(); if (!$unix->process_exists($ZARAFADB_PID)) { build_progress_status(110, "{failed}"); return; } } build_progress_status(40, "Stopping Zarafa Server service"); WriteToSyslogMail("Action: Stopping Zarafa server...", __FILE__); @unlink("/tmp/zarafa-upgrade-lock"); system("/etc/init.d/zarafa-server stop --kill"); $pid = XZARAFA_SERVER_PID(); if ($unix->process_exists($pid)) { $kill = $unix->find_program("kill"); unix_system_kill_force($pid); } build_progress_status(43, "Starting monitors"); shell_exec("/etc/init.d/monit start"); shell_exec("/etc/init.d/artica-status start"); shell_exec("/etc/init.d/postfix-logger start"); build_progress_status(45, "Restarting Zarafa Server service"); WriteToSyslogMail("Action: Restarting Zarafa server...", __FILE__); shell_exec("/etc/init.d/zarafa-server restart"); WriteToSyslogMail("Action: sleeping 5s", __FILE__); sleep(5); build_progress_status(50, "Restarting Zarafa Server service"); WriteToSyslogMail("Action: Restarting Zarafa server...", __FILE__); system("/etc/init.d/zarafa-server restart"); build_progress_status(60, "Checking DB size"); databasesize(true); build_progress_status(100, "{finish}"); }
function ALL_STATUS($aspid = false) { if (is_file("/usr/bin/cgclassify")) { if (is_dir("/cgroups/blkio/php")) { shell_exec("/usr/bin/cgclassify -g cpu,cpuset,blkio:php " . getmypid()); } } $unix = new unix(); if (!is_file("/usr/sbin/mgr-info")) { $ln = $unix->find_program("ln"); shell_exec("{$ln} -sf " . dirname(__FILE__) . "/exec.cmdline.squid.cache.mem.php /usr/sbin/mgr-info"); @chmod(dirname(__FILE__) . "/exec.cmdline.squid.cache.mem.php", 0755); } if ($GLOBALS["VERBOSE"]) { $cmdline_verbose = " --verbose"; $GLOBALS["OUTPUT"] = true; } if (!$aspid) { $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); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . "Already `task` running PID {$pid} since {$time}mn\n"; } system_admin_events("stop_squid::Already task running PID {$pid} since {$time}mn", __FUNCTION__, __FILE__, __LINE__, "proxy"); return; } @file_put_contents($pidfile, getmypid()); } build_progress_status("verify_var_log()", 2); verify_var_log(); squeezer(); build_progress_status("squid_stores_status()", 5); squid_stores_status(); build_progress_status("squid_mem_status()", 8); squid_mem_status(); build_progress_status("squid_memory_monitor()", 9); squid_memory_monitor(); build_progress_status("bandwith_stats_today()", 9); bandwith_stats_today(); build_progress_status("squid_cache_mem_current()", 9); squid_cache_mem_current(); build_progress_status("redirectors_array()", 9); redirectors_array(); build_progress_status("CATEGORIES_SERVICE()", 9); CATEGORIES_SERVICE(); build_progress_status("dev_shm()", 9); dev_shm(); build_progress_status("DisableGoogleSSL()", 9); DisableGoogleSSL(); build_progress_status("CHECK_WIFIDOG_IPTABLES_RULES()", 9); CHECK_WIFIDOG_IPTABLES_RULES(); build_progress_status("taskset()", 9); taskset(); build_progress_status("CRON_NECESSARIES()", 9); CRON_NECESSARIES(); build_progress_status("import_old_logs()", 9); import_old_logs(); $php5 = $unix->LOCATE_PHP5_BIN(); build_progress_status("CheckGlobalInfos()", 10); CheckGlobalInfos(); build_progress_status("ALLKIDS()", 20); ALLKIDS(); build_progress_status("C_ICAP_CLIENTS()", 22); C_ICAP_CLIENTS(); build_progress_status("squid_stores_status()", 30); squid_stores_status(); build_progress_status("{caches_center} {status}", 30); cache_center_status(); eCapClamav(); squid_conx(); if ($GLOBALS["FORCE"]) { build_progress_status("CacheInfos()", 50); system("{$php5} /usr/share/artica-postfix/exec.squid.php --cache-infos --force --verbose"); build_progress_status("{caches_center}", 60); system("{$php5} " . __FILE__ . " --caches-center --force{$cmdline_verbose}"); } build_progress_status("Done...", 100); }