为什么anacron无法运行?


9

我有一个安装了anacron的Ubuntu系统。但是我很确定它没有运行。它没有运行/etc/cron.daily中的命令来旋转syslog文件(我使用的是sysklog,它具有自己的旋转日志方法,而不使用logrotate)。上次旋转日志时间是2009年10月。/var/spool/anacron/cron.daily存在,内容为20091015。事发后,我们断电了,一切都重新启动了。

如何调试蟒蛇?我怎么知道为什么它没有运行?我的本能是寻找/var/log/anacron,但那还不存在。我该如何修复使其再次运行?

Answers:


5

请看以下内容:

zgrep anacron /var/log/cron.log.{9..1}* /var/log/cron.log | less

对我来说,一个系统上的最后一个条目是2008年11月4日。

zgrep anacron /var/log/syslog.{9..1}* /var/log/syslog | less

我的参赛作品从12月28日到1月4日不等。

cat /etc/crontab

您应该看到每天,每周和每月与此类似的条目:

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

这应该显示一堆文件:

ls -l /etc/cron.{daily,weekly,monthly}

/etc/cron.daily我既有logrotate也有sysklogd。

如果您这样做:

ps auxww | grep [c]ron

您应该看到cron守护程序正在运行。

如果您这样做:

cat /etc/cron.daily/sysklogd

您应该会看到几行结尾|| exit 0-检查并确保文件存在,并确保其中的文件test -x可执行。因为我正在使用logrotate,所以其中一些不适用于我。

检查syslogd是否正在运行:

ps -C syslogd

查看savelog是否存在并且可执行:

ls -l $(type -p savelog)

这就是我目前能想到的。


4
另外请记住,anacron本质上只是cron的配置,所以它不是守护进程
LapTop006 2010年

10

尝试运行:

sudo run-parts --test /etc/cron.daily

该行将告诉您新脚本是否属于“公认”脚本中。例如,脚本名称可能错误,exec标志丢失或权限问题等。

我发现这种方式的运行部分工具(由cron使用)不喜欢.sh后缀


2

我有一个安装了anacron,配置错误且未运行的ubunutu 8.04 vps(w / plesk)。apt-get reinstall重新创建了所有相关文件。

之后,我所要做的就是在每小时的crontab中添加一个条目来启动anacron并使其工作。

我放在cron.hourly /中的脚本只是

#!bin/bash
/path/to/anacron -s 

1

尝试重新启动服务,这会给您一个错误吗?


0

某些Linux客户端很脆弱。我们使用cfengine重新启动cron,并使用cron监视cfengine中的关键任务。这些天,没有人崩溃。不像90年代cron每天崩溃的时候:-)


0

它在/etc/cron.{daily,weekly,monthly}/文件夹中的脚本名称中带有点,似乎无法执行。尝试将其重命名为没有点的东西。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.