嵌入式arm Linux下使用BusyBox的crond服务的定时任务方法 之前的程序有问题tcp经常中断,程序还在,linux端口还在占用10777,tcp能连一会就断了,暂时用定时重启

keepalive.sh 守护及定时任务脚本

#!/bin/sh
#--------------定时每天1:30重启应用程序
#先关闭crond
killall -9 crond
#创建目录,默认是没有的
mkdir -p /var/spool/cron/crontabs
#编辑定时任务,写好保存,会生成root用户名文件,我不写了跳过,下面直接替换这个文件
#crontab -e
#30 1 * * * sh /home/agent/bin/timerrestartapp.sh
#把要执行的文件授权
chmod -R 777 /home
#把已经生成的root用户名文件/home/agent/bin/crontabs/root复制到crond任务目录下
cp -rf /home/agent/bin/crontabs/. /var/spool/cron/crontabs
#任务文件授权
chmod -R 777 /var/spool/cron
sleep 3
#启动crond
crond

#--------------进程守护
while true
do
	#进程名字可修改 
	PRO_NAME=ysagentmce01
	#用ps获取进程数量  
	NUM=`ps |grep ${PRO_NAME} |grep -v "grep" |wc -l`
	#echo $NUM  ${PRO_NAME}
	if [ $NUM != 1 ]
	then
	   #如果不是1个,就全杀掉,再启动应用
	   echo "ERROR ,RESET ,NUM:" $NUM $(date) 
	   killall -9 "${PRO_NAME}"
	   /home/agent/bin/ysagentmce01 &
	fi
	#10秒查看一次
	sleep 10s
done 
exit 0  

 

在以上各个字段中,还可以使用以下特殊字符:

"*"代表所有的取值范围内的数字,如月份字段为*,则表示1到12个月;

"/"代表每一定时间间隔的意思,如分钟字段为*/10,表示每10分钟执行1次。

"-"代表从某个区间范围,是闭区间。如“2-5”表示“2,3,4,5”,小时字段中0-23/2表示在0~23点范围内每2个小时执行一次。

","分散的数字(不一定连续),如1,2,3,4,7,9。

注:由于各个地方每周第一天不一样,因此Sunday=0(第一天)或Sunday=7(最后1天)。

 

 

crond是一个服务,一个守护进程。crond 是linux用来定期执行程序的命令,crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。

按照网上查找的资料执行时经常会碰到这种错误:

crontab: chdir(/var/spool/cron/crontabs): No such file or directory

所以首先创建这样一个目录吧!

mkdir -p /var/spool/cron/crontabs

然后编辑要执行的任务

crontab -e 编辑

crontab -l查看任务列表

0 */1 * * * /sbin/ntpdate 192.168.1.67 >/dev/null 2>&1 每隔一个小时更新下时间,不打印任何信息

最后,执行下

#crond

此时你会发现/var/spool/cron/crontabs下有一个跟用户名相同的文件,保存着要执行的任务。

ps下会发现cron进程已经启动!

 

 

Linux查看tcp端口

netstat -ntlp //查看当前所有tcp端口

netstat -ntulp | grep 80 //查看所有80端口使用情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄人软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值