最近,根据项目需要,需要利用定时任务,在某天固定时间按去处理任务。刚开始是计划采用java spirng 本身带schelude去处理,
但是觉得后期测试,维护需要不断修改代码。所以从系统定时任务去考虑问题。
首先,linux系统本身支持定时任务。简单的介绍
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
我使用linux定时任务的步骤
我需要定时去执行一个脚本文件 a.sh
1.在用户目录下新建 a.sh 文件
文件内容如下
echo -e "$(date +%Y-%m-%d:%H:%M.%S),短信祝福-- 开始:\n">> /var/log/wish.log
curl -s http://127.0.0.1:8080/wish/sms/send >> /var/log/wish.log
echo -e "\n $(date +%Y-%m-%d:%H:%M.%S),短信祝福-- 结束:">> /var/log/wish.log
文件建完后一定要授权,否则不能执行
chmod 755 a.sh
建完后试试sh文件是否可执行
2.新建定时任务
crontab -e
#每天10点发送短信祝福短信,目录随生产指定
0 10 * * * /home/ruanl/a.sh
然后保存,退出
查看定时任务是否被执行
查看日志
sudo tail /var/log/cron