如何让crontab执行脚本后并且把日志输出到另一个文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让crontab执行脚本后并且把日志输出到另一个文件?相关的知识,希望对你有一定的参考价值。

直接crontab -e添加执行脚本,然后给执行脚本加个重定向到文件就行了。

例如:30 23 * * * /path/to/shell/script >> /path/to/log/file    #表示每晚的23:30执行/path/to/shell/script脚本,并且把结果重定向输出到/path/to/log/file文件。

crontab参数:

-e:编辑该用户的计时器设置;

-l:列出该用户的计时器设置;

-r:删除该用户的计时器设置;

-u<用户名称>:指定要设定计时器的用户名称。

crontab的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month week command,时间字段都是整数, command:要执行的命令,可以是系统命令,也可以是自己编写的shell脚本文件。 在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,全部。

逗号(,):可以用逗号隔开的值指定一个列表范围。

中杠(-):可以用整数之间的中杠表示一个整数范围。

正斜线(/):可以用正斜线指定时间的间隔频率。

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

参考技术A 1、针对Linux系统的查询方法(含Redhat、SUSE)
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察
配图为系统aix root用户默认的crontab

2、针对UINX系统查询方法(AIX、HP-UX)
在 /var/spool/cron/tmp文件中,有croutXXX00999的tmp文件,tail 这些文件就可以看到正在执行的任务了。

3. mail任务(Linux UNIX)在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。

注意事项
其实最简单的方法还有将crontab的任务执行采用累加的方式输出到一个日志中
注意crontab里定时执行的脚本有足够的权限,如未正常执行,需要常看其日志
参考技术B 直接crontab -e添加就好了,给执行脚本加个重定向就好了。
1 * * * * /path/to/shell/script >> /path/to/log/file
参考技术C

]Linux中用crontab例行工作安排1表示所有的标准输出和错误输出都将被重定向到一个叫做out.file的文件中3.crontab常用操作列出crontab文件:crontab-l编辑cronta。防恶意抓取... test的使用方法 如何让crontab执行脚本后并且把日志输出到另一个文件-u<用户名称>

crontab 不执行php脚本问题记录

crontab不执行脚本文件之前遇到个很多种情况:

1 脚本没有执行权限

2 脚本中用了相对路径 执行路径不对 

3 脚本本身问题 比如使用了$_SERVER等的变量

 

但是这次遇到的不一样,/var/log/cron日志中显示了cron定时执行了脚本,但是没有生效,并且脚本错误日志中没有一点报错。把执行日志中的命令直接复制到终端是可以执行的.

后来发现是脚本存放的路径是/usr/loca/bin ,把路径移到了/usr/bin中就可以执行了 ,这应该是cron执行的用户(root) 和终端登录的用户(root)还是有区别. 具体的区别有空再研究做个记录.

 

 

是/etc/crontab里面执行PATH=/usr/bin;但是没有把/usr/local/bin 放进去... 傻逼

以上是关于如何让crontab执行脚本后并且把日志输出到另一个文件?的主要内容,如果未能解决你的问题,请参考以下文章

crontab 不执行php脚本问题记录

Shell执行将脚本里的变量打印到指定日志文件

如何让crontab 按秒执行

liunx 使用crontab定时任务+shell脚本删除tomcat日志elasticsearch日志索引

Perl 不在 crontab 中执行

crontab中添加定时脚本不生效的原因