shell脚本检查进程是不是存在不存在发送邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本检查进程是不是存在不存在发送邮件相关的知识,希望对你有一定的参考价值。
参考技术A 前几天开始跑一份数据名单,名单需要提供用户名、是否有手机号、是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号、是否有邮箱必须得通过一个对外开放的安全接口一个一个用户去请求,然后分析返回值才能知道。下面是我处理的方案:1、将2000w名单保存到临时数据表2、用php程序每次从该表获取500个用户,检测完后生成SQL update原纪录3、为了防止PHP程序突然断掉,用shell脚本每隔1分钟检测,PHP挂掉了则重启我使用shell脚本作为守护进程的原因是,手机与邮箱的检测接口速度慢,不可能在1~2天将2000w用户检测完。方案详细:1、临时保存用户名单表users,表结构如下:复制代码 代码如下:CREATE TABLE `users` ( `account` varchar(50) COMMENT '用户名', `has_phone` tinyint(3) unsigned NOT NULL default '0' COMMENT '是否有手机号', `has_email` tinyint(3) unsigned NOT NULL default '0' COMMENT '是否有邮箱', `flag` tinyint(3) unsigned NOT NULL default '0' COMMENT '标志位', PRIMARY KEY (`account`), KEY `flag` (`flag`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='名单表'; 我先将2000多w用户名导入到这个临时表,has_phone与has_email这二个字段默认都是0(没有),标志位flag说明该用户是否已经检测完。下面是一部分表数据:9873aaa,0,0,0adddwwwd876222,0,0,0testalexlee,0,0,0codejia,0,0,1 haohdouywaa21,1,1,1 9873aaa,0,1,1 adddwwwd876222,1,0,1 说在最后:以上用户名单数据只是举个栗子,不要太认真,2000w数据,我估计要跑一段时间了,因为检测接口比较慢,接口在接到请求后还要连表,查表,再返回。其实,最好的方法还是直接从接口请求的表拉一份名单出来,再用shell命令处理下很快就有结果了,可是在公司就是这样,有些东西不开放的,你懂的~~~以上是关于shell脚本检查进程是不是存在不存在发送邮件的主要内容,如果未能解决你的问题,请参考以下文章