Linux中通过定时执行shell脚本,实现定时任务
在我的上篇笔记中说到利用spring和quartz实现定时任务(有兴趣的可以去看一下),其实在Linux系统中有定时任务的命令也可以用来实现定时调度java程序。这就是本篇要讲的内容。
首先是看一下定时任务java程序(这里为了简单测试,只写了一个主程序,涉及到复杂的任务在主程序中调用即可),
然后是调用该程序的shell脚本(this is a test是传入的参数)
#!/bin/sh
cd /root/test
java Test this is a test
接下来就是写定时调度的命令,有两种方式:
在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
直接编辑/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的所有调度任务
例如:
删除任务调度
crontab -r //删除所有任务调度
重启crond服务
service crond restart
查看crond服务状态
service crond status
ok,今天笔记就记到这里,明儿个见,bye~