千家信息网

如何进行Solaris 10的Crontab应用

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这期内容当中小编将会给大家带来有关如何进行Solaris 10的Crontab应用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。linux下使用crontab很顺利
千家信息网最后更新 2025年01月24日如何进行Solaris 10的Crontab应用

这期内容当中小编将会给大家带来有关如何进行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应用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

0