这期内容当中小编将会给大家带来有关如何进行Solaris 10的Crontab应用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联服务项目包括克什克腾网站建设、克什克腾网站制作、克什克腾网页制作以及克什克腾网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,克什克腾网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到克什克腾省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
linux下使用crontab很顺利,没遇到什么问题,直接crontab -e添加任务即可,可是在 Solaris下却碰到些问题,没有按计划执行指定任务,问题解决后,简要总结一下Solaris下crontab的用法:
a、添加操作
bash-3.00# vi /var/spool/cron/crontabs/root
* * * * * /export/home/test/analysisTNS/DCSMonitor.sh
b、删除FIFO,否则cron不能重启
bash-3.00# rm /etc/cron.d/FIFO
c、杀掉现有crontab进程
bash-3.00# ps -ef | grep cron
root 308 1 0 11:09:58 ? 0:01 /usr/sbin/cron
bash-3.00# kill -9 308
d、重启crontab进程
bash-3.00# /usr/sbin/cron
e、查看crontab日志
启动正确后,可以看见如下信息:
! *** cron started *** pid = 2631 Mon Jun 7 14:29:24 2010
> CMD: /export/home/test/analysisTNS/DCSMonitor.sh
> root 2637 c Mon Jun 7 14:30:00 2010
< root 2637 c Mon Jun 7 14:30:00 2010
f、Solaris定是脚本
# !/bin/bash
check_service() {
# if return 0, service exist in system
# else, service not exist in system
mainprocess=`ps -e | grep analysis`
# in linux, i use mainprocess=$(ps -e | grep analysisTNS)
if [ -z "$mainprocess" ]; then
return 1
else
return 0
fi
if check_service; then
echo "service tns is running now"
else
cd /export/home/test/analysisTNS
./analysisTNS >/dev/null 2>&1 &
echo "start tns success"
exit 0
上面完成后,就可以看见指定任务按计划执行了。
脚本处检查进程时使用了ps -e | grep analysis,而不是ps -e | grep analysisTNS,因为我发现即使进程在执行,使用后者却没有任何输出,使用前者则可以检测到进程信息,如下:
bash-3.00# ps -e | grep analysisTNS
bash-3.00# ps -e | grep analysis
2641 ? 0:00 analysis
使用ps -ef | grep analysisTNS当然可以检测到进程,但同时grep命令本身也被检测到了,用-v发现也不好使,Solaris真有点不一样。
bash-3.00# ps -ef | grep analysisTNS
root 2641 1 0 14:30:00 ? 0:00 ./analysisTNS
root 3214 830 0 15:24:08 pts/2 0:00 grep analysisTNS
而这在linux下我还没发现过,很奇怪!
上述就是小编为大家分享的如何进行Solaris 10的Crontab应用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。