Linux中通过定时执行shell脚本,实现定时任务

发布时间:2018-01-20 23:47:19编辑:丝画阁阅读(682)

Linux中通过定时执行shell脚本,实现定时任务

在我的上篇笔记中说到利用spring和quartz实现定时任务(有兴趣的可以去看一下),其实在Linux系统中有定时任务的命令也可以用来实现定时调度java程序。这就是本篇要讲的内容。

首先是看一下定时任务java程序(这里为了简单测试,只写了一个主程序,涉及到复杂的任务在主程序中调用即可),

Linux中通过定时执行shell脚本,实现定时任务

主程序

然后是调用该程序的shell脚本(this is a test是传入的参数)

#!/bin/sh

cd /root/test

java Test this is a test

接下来就是写定时调度的命令,有两种方式:

  1. 在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

  2. 直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

例如: 50 15 * * * (cd /root/test/shell;sh test.sh)

区别:crontab -e配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务

查看调度任务

crontab -l //列出当前的所有调度任务

crontab -l -u root //列出用户root的所有调度任务

例如:

Linux中通过定时执行shell脚本,实现定时任务

查看root用户的所有定时任务

删除任务调度

crontab -r //删除所有任务调度

重启crond服务

service crond restart

查看crond服务状态

service crond status

ok,今天笔记就记到这里,明儿个见,bye~

关键字