Linux系统下定时执行脚本,并且防止周期内循环执行

最近在Linux下集成了Java写的代码,并且启用定时任务进行调用,简单描述一下基本流程;

  1. 准备好Linux要调用的脚本内容。这里简单进入java可执行文件的目录下,进行调用的一个脚本(Linux下调用包含jar包的class文件,注意,此文件应该包含main方法,也就是说应该是程序的入口文件)
    Linux系统下定时执行脚本,并且防止周期内循环执行
  2. 把脚本文件billsort.sh上传至到/usr/sbin目录(目录可随意),并修改属性值(777),使其成为可执行文件Linux系统下定时执行脚本,并且防止周期内循环执行
  3. (略选操作),手动执行一次脚本文件是否成功 ,进入 /usr/sbin目录下,然后调用sh文件即可,程序正常执行一次。
  4. 把脚本文件添加至定时任务(5分钟执行一次脚本billsort..sh)

a)运行指令crontab -e
b)输入i,进入编辑状态 c)输入 /5 * * * flock -xn /usr/sbin/billsort.sh -c
‘/usr/sbin/billsort.sh’(获得 文件的锁才能执行,如果程序执行超过5分钟,不会再次进入程序,防止周期内
重复执行文件多次) d)点击键盘ESC 然后输入 :wq e)运行指令crontab -l 查看是否添加任务成功 f)重启服务
service crond restart g)指令crontab -r 删除全部定时任务(如果移除定时任务可以执行此指令)