嵌入式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端口使用情况

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-6487784.html

如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网进行投诉反馈,一经查实,立即删除!


相关文章:

  • springboot使用Map接收请求参数 @RequestBody 使用RestTemplate发送http get和post源码 接口中转相当于反向代理
  • 2021-03-04 mysql in里加个参数就查不到??是JSON_EXTRACT导致的,用JSON_UNQUOTE()去掉双引号就正常了
  • C#数组索引必须使用Convert.ToByte(“1“) 使用Convert.ToChar(“1“)报错
  • springcloud加入新模块
  • mysql子语句查询 ,引用子查询结果(多参数,单参数)或with as
  • 2021-3-18全国个人所得税 完税证明开具 最新 其它经验都过时了,我北京网上打印
  • C语言切割split多条json源码
  • 2021-04-07Springboot两种获取get所有URL路径中的参数 getQueryString 和 @RequestParam
  • android老项目改成支持所有新android版本10 11等 编码乱码This app was built for an older version of 蓝牙搜不到设备
  • 从一个账号批量复制用户到另一个账号alibaba工具源码 按键精灵
  • 让nodejs更新代码自动重启更新页面 通过nodemon 启动的服务, 它会检测文件的变化,自动帮你重启服务器
  • docker部署Nginx1.19+PHP8环境总结OK 重难点nginx配置文件,配的不对报404还不好查
  • 软考打印准考证到一张纸 设置方法OK
  • linux docker安装dedecms php扩展 MySQL支持 OFF和GD 支持Off 解决方法
  • nginx安装 配置 命令等 配置文件位置
  • docker的bridge网桥使容器互通ping通 --link单向通信
  • Linux下如何删除、查看或重命名文件名乱码的文件 find命令之exec找到并进一步操作
  • Android Notification.setLatestEventInfo弃用替代和Notification.Builder用法
  • android studio导入项目提示NO VARIANTS FOUND FOR ‘APP‘
  • android常见问题 安装不了app apk在哪
  • Android Studio提示“unable to find valid certification“的解决办法 勾上Accept non-trusted certificates automa就行
  • androidstudio直接打开as项目选app提示Task ‘wrapper‘ not found in project ‘:app‘. 解决:用导入import项目,选项目不要选app
  • failed to create runc console socket: mkdir /tmp/pty397674589: no space left on device: unknown
  • mongodb密码含特殊字符%等的解决方法。直接框里填选项,不要用fromURL
  • js正则表达式中使用变量,一定要使用eval将组合的字符串进行转换
  • 有人C215 response is encoded 关闭分块传输编码后正常
  • 无法直接更改mongoose返回的json要加lean(),lean属性的作用:转换mongoose查询结果类型,从MongooseDocuments转换为JS Object,从而便于我们修改查询结果
  • PHP TcpServer和Client 收发十六进制和字符串 超时及等待用户输入
  • 2021-08-02网关http或tcp收发等极简物联网通用json协议设计
  • idea打包jar
  • arm linux 无ip连不上网连不上ftp传不了文件16口8口等解决
  • linux找到并杀掉进程sh脚本 专杀杀不掉的sh,不想找进程号
  • vs2017打开mysql工程提示若要解决此问题,请使用以下选择启动 Visual Studio 安装程序: 用于 x86 和 x64 的 Visual C++ MFC。和缺少mysql.h解决
  • VC++ 中 try catch 无法捕捉异常的问题被优了加上/EHa
  • C# mysql SSL Connection error.
  • Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0 SDK改为默认OK
  • C# mysql增删改查
  • Android studio .a静态库的生成与调用 简单 需要把厂家提供的C语言写的.a库 再封装成.so库,再通过jni 映射给JAVA调用 .so库调用,可以多个.a库 NDK编译 javah
  • C#委托的妙用 public delegate void MyDel(string str);//声明一个自定义委托,相当于指针,可回调窗体里的方法。可以让我在任何地方显示日志到窗体
  • photoshop图层锁无法解开编辑不能新建图层很多功能灰色不能操作 原因新建时选了RGB32位。选8或16位才能新建图层
  • C#按物理尺寸打印图片 e.Graphics.DrawImage(image,0,0); //按物理尺寸打印标签,600点改为300点的打印机
  • c/c++反射调用JAVA方法
  • jni jbyte >128时会变成0xffffffxx,是java层的问题
  • c/c++反射调用JAVA方法2 参数发送与返回数组,java数组也可以像指针一样,在函数内部修改值
  • android NFC开发步骤-协议分类 工作模式 标签调度系统 前台调度系统
  • C#禁用 转为实时可视化树 启用选定内容 等4个按钮
  • MFC Run-Time Check Failure #2 - Stack around the variable ‘deCodeTextLen‘ was corrupted
  • NDK at ...Android\Sdk\ndk\21.1.6528147 did not have a source.properties file
  • jni显示调试日志到logcat jni调试进不了jni及之后的代码? 可以调试,需要把sdk也用debug模式来编译。
  • MFC 数组初始化 byte errcode[5120] = { 0x55 };//只有第一个字节为0x55,其它为0