最近有两台机器op进程老师无缘无故死掉,特此写个脚本强行拯救下,下个月换机器
/var/www/html/目录下新建monitor.php,开启755权限
原来的守护脚本for循环里加一句:cd /var/www/html/;php monitor.php &>/dev/null
monitor.php如下:
<?php
require('system.php');
$overtime = 10;
$time = time();
$path_log = R.'/monitor.txt';
//log大于3MB则清空
if(filesize($path_log) > 1024*1024*3){
file_put_contents($path_log, "");
}
if(strstr(end(file($path_log)), date('Y-m-d H:i:s')) != false){
exit('已经监控过啦');
}
$files[0]["file"] = "openvpn_api/online_1194.txt";
$files[0]["telnet"] = "systemctl stop openvpn@server1194;systemctl start openvpn@server1194";
$files[1]["file"] = "openvpn_api/online_1195.txt";
$files[1]["telnet"] = "systemctl stop openvpn@server1195;systemctl start openvpn@server1195";
$files[2]["file"] = "openvpn_api/online_1196.txt";
$files[2]["telnet"] = "systemctl stop openvpn@server1196;systemctl start openvpn@server1196";
$files[3]["file"] = "openvpn_api/online_1197.txt";
$files[3]["telnet"] = "systemctl stop openvpn@server1197;systemctl start openvpn@server1197";
$files[4]["file"] = "openvpn_api/user-status-udp.txt";
$files[4]["telnet"] = "systemctl stop openvpn@server-udp;systemctl start openvpn@server-udp";
$msg = '';
foreach ($files as $k => $v){
$arr = [
'file' => $v['file'],
'uptime' => date("Y-m-d H:i:s",filemtime($v['file'])),
'nowtime' => date("Y-m-d H:i:s",time()),
];
// var_export($arr);
if((filemtime($v['file'])+$overtime) < $time){
$msg .= $v['file'];
systemi("{$v['telnet']}");
file_put_contents($path_log,date('Y-m-d H:i:s').' 异常重启项:'.json_encode($arr)."\r\n",FILE_APPEND);
}
}
if($msg == '') {
echo "暂无异常";
file_put_contents($path_log,date('Y-m-d H:i:s').' 暂无异常。'."\r\n",FILE_APPEND);
}else{
echo "异常项已重启:{$msg}";
}
无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。