请问centos系统/etc/cron.daily/下的脚本,是在哪里设置的定时执行呢?

在CeontOS6 里面,crond每分钟去/etc/cron.d里面搜索配置文件,里面有一个0hourly文件,里面写了01 * * * * root run-parts /etc/cron.hourly。是每隔1小时去运行一次/etc/cron.hourly目录,该目录下面有一个0anacron文件,这样0anacron文件就能每小时运行一次。0anacron按照/etc/anacrontab文件里面的配置,将当前时间与/var/spool/anacron目录下面的文件里面的时间戳作对比,如果需要则去运行/etc/anacrontab对应的条目。这也是为什么/etc/anacrontab文件里面只定义了cron.daily、cron.weekly与cron.monthly,而没有定义cron.hourly,因为cron.daily、cron.weekly与cron.monthly其实是由cron.hourly调起来的。
每小时运行的0anacron只负责进行时间戳的比对,如果当前日期和上次运行anacron的日期不符,说明系统停机过了,就会启动anacron这
支程序,再由anacron根据/etc/anacrontab配置进一步判断,然后去运行cron.daily、cron.weekly与cron.monthly里面未完成的任务。
那么anacrontab不管hourly任务了吗??

真时的执行流程是怎样的??有么有大神来解答啊??

详情可参考这篇文章:http://c.biancheng.net/view/1095.html

在原先 CentOS 版本的 /etc/cron.{daily,weekly,monthly} 目录中的定时任务会同时被 cron 和 anacron 调用,这样非常容易出现重复执行同一个定时任务的错误。因此,在 CentOS 6.x 中,/etc/cron.{daily,weekly,monthly} 目录中的定时任务只会被 anacron 调用,从而保证这些定时任务只会在每天、每周或每月定时执行一次,而不会重复执行。

/etc/cron.{daily,weekly,monthly} 目录中的脚本在当前的 Linux 中是被 anacron 调用的,不再依靠 cron 服务。不过,anacron 不用设置多余的配置,我们只需要把需要定时执行的脚本放入 /etc/cron.{daily,weekly,monthly} 目录中,就会每天、每周或每月执行,而且也不再需要启动 anacron 服务了。如果需要进行修改,则只需修改 /etc/anacrontab 配置文件即可。

<think>好的,用户想知道Linux系统crontab定时任务的日志存储位置。首先,我需要回忆一下Linux系统日志的相关知识。通常,系统日志存放在/var/log目录下,但具体到cron任务可能需要确认。 记得不同的Linux发行版可能使用不同的服务来管理cron任务,比如syslog或者rsyslog,这可能影响日志的位置。比如Ubuntu系统默认使用rsyslog,而CentOS可能也有差异。一般来说,cron的日志可能在/var/log/syslog或/var/log/cron文件中。 用户提到的引用中提到了/etc/cron.daily目录,但那是存放脚本的地方,不是日志的位置。需要确认日志配置是否开启,因为有时候默认情况下可能没有记录cron日志。需要检查rsyslog或syslog的配置文件,查看是否有关于cron的配置。例如,在/etc/rsyslog.conf或/etc/rsyslog.d/50-default.conf中,查看是否有cron.*相关的行,这决定了日志的路径。 另外,用户可能需要用grep命令过滤日志,例如使用grep CRON /var/log/syslog来查找cron相关的条目。如果日志被分割,可能需要检查/var/log/syslog.1等归档文件。 还要考虑到权限问题,普通用户可能需要sudo才能查看这些日志文件。另外,如果用户修改了rsyslog配置,可能需要重启服务才能使更改生效,如引用3提到的重启cron服务,不过这里应该是重启rsyslog服务。 总结一下,可能的步骤是:1. 检查/var/log下的syslog、cron或messages文件;2. 查看rsyslog配置确认cron日志路径;3. 使用grep过滤相关日志;4. 处理权限问题或服务重启。</think>在Linux系统中,crontab定时任务的日志存储路径与系统配置相关,以下是定位步骤: ### 一、默认日志路径 1. **系统主日志文件** - Ubuntu/Debian系统:$ /var/log/syslog$ - CentOS/RHEL系统:$ /var/log/cron$ 或 $ /var/log/messages$ - 通过命令快速定位: ```bash grep CRON /var/log/syslog # Ubuntu grep CRON /var/log/cron # CentOS ``` 2. **日志分割文件** 系统可能按日期分割日志(如$ syslog.1$、$ cron-20231001$),需检查$ /var/log/$目录下的归档文件[^2] ### 二、配置验证 1. **检查rsyslog配置** 通过$ /etc/rsyslog.conf$ 或 $ /etc/rsyslog.d/50-default.conf$ 文件,确认包含以下配置项: ``` cron.* /var/log/cron.log # 指定cron独立日志路径 ``` > 若配置被注释,需取消注释并重启服务: ```bash sudo systemctl restart rsyslog ``` ### 三、特殊场景处理 1. **未记录日志的情况** 若系统默认未启用cron日志,需通过以下命令临时监控: ```bash tail -f /var/log/syslog | grep CRON # 实时查看日志 ``` 2. **自定义日志路径** 可通过脚本重定向输出实现定制化记录: ```bash * * * * * /path/script.sh >> /custom/log/path 2>&1 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值