linux定时任务日志输出,linux - 计划任务输出日志并定期清理

前言

crontab执行任务的时候希望输出日志,但是日志之需要保留一段时间会自动清理掉,不然会把磁盘装满的。因此,就希望系统自动去删除。幸好,tmpwatch这个服务会自动清理/tmp目录(主要文件不要放/tmp目录),只要安装好tmpwatch这个包就可以了,这个依赖crontab执行的。那现在就需要把crontab日志输出到带日期的文件名中就可以了。

linux定时任务日志输出,linux - 计划任务输出日志并定期清理_第1张图片

crontab设置

使用crontab -e进行任务编辑,不推荐直接编辑/var/spool/cron/下的文件,有些错误不提示

crontab -e

* * * * * /home/linuxyunweicai/job.sh >> /tmp/job.log.$(date +%Y%m%d) 2>&1

新建的job等2分钟才会开始执行,如果需要马上执行,直接重启一下crond服务就可以了。

发现没有日志生成,看下cron的日志/var/log/cron

Jun 2 13:44:01 linuxop CROND[23261]: (root) CMD (home/linuxyunweicai/job.sh >> /tmp/job.log.$(date +)

后面的东西就没了,因此应该是%的原因:在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%,如经常用的date +%Y%m%d在cro

你可能感兴趣的:(linux定时任务日志输出)