使用Ubuntu的Crontab定时任务需要注意的地方

Ubuntu使用crontab定时任务  网上有很多教程,现在记录下我遇到的一些问题,需要注意的地方:

1、定时任务的日志存放路径

  网上的说法:cron的日志存放在 /var/log/cron 里面
  可是我这个系统它并没有这个文件,它实际的日志路径是 /var/log/syslog
  使用tail -f syslog命令查看

2、定时执行的jar包不能是窗口界面

  测试的时,使用Cron定时任务执行一个jar包,怎么都执行不了。
  最后发现,并非步骤出错了,而是执行的jar包的问题。
  正常情况下执行这个jar包,会弹出一个JFrame窗口。但是如果放到定时服务里的话,它就不会弹出窗口。这让我一直误以为没有执行定时任务,走了很大的弯路。直到后来找到了定时任务的日志。
  按照逻辑想,定时服务放在服务器上,弹出窗口也没人看啊。

3、定时执行的任务使用管道输出信息

  后来改成了一个很简单的jar包,它只是打印一下当前日期。其实这个输出也同上面的窗口弹出一样,没有地方可以输出的,它是不会输出到控制台里。
  所以这时候应当使用管道,指定输出到某个日志里边。下面的例子是每分钟执行一次,将打印输出到time.log中
  */1 * * * *   java -jar /home/jiashubing/middleware/hello.jar  >> /home/jiashubing/middleware/time.log

4、使用crontab -e修改完以后,并不需要重启服务(sudo service cron restart)

  因为定时任务本来就是,一个监听的程序,网上的教程却都是要重启。

  原创文章,欢迎转载,转载请注明出处

原文地址:https://www.cnblogs.com/acm-bingzi/p/ubuntuCrontabTrap.html