4

我有一个脚本可以每天随时运行。所以/etc/cron.daily似乎是一个简单的解决方案。

但是现在我遇到了问题,cronjob 不会运行该脚本。似乎 cronjob 不会运行任何日常工作。

所以我试着把它放到 cron.hourly 中,一切正常。但我不想每小时运行一次备份脚本。

/etc/init.d/cron start|stop工作没有错误。

/etc/crontab看起来像默认值:

 m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report     /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

由于它不会运行,我尝试安装 anacron 但没有任何更改。

为什么它运行每小时脚本而不是每日脚本?

非常感谢大家!

4

6 回答 6

5

可能是您的日常脚本之一行为不端。尝试手动运行它们。我删除了 logwatch 包和 cron.daily 作业,它又可以工作了。

这是我的 /etc/crontab

# /etc/crontab: system-wide crontab

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
16 * * * * root cd / && run-parts --report /etc/cron.hourly
12 2 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
41 1 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
9 3 30 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

尝试像这样运行日常

 run-parts -v --report /etc/cron.daily

您还可以使用 --list 或 --test 获得更多输出。在我的情况下,我删除了行为不端的脚本,日常工作又开始了

于 2014-07-15T06:59:01.580 回答
4

我在 /etc/cron.daily 中的一个脚本遇到了同样的问题 脚本的名称是 backupBugzilla.sh

将脚本重命名为 backupBugzilla 后,它起作用了。

于 2015-05-20T16:15:06.780 回答
3

你安装了 anacron 吗?

# dpkg --get-selections | grep anacron

如果是,它不会运行每日、每周和每月脚本。

于 2013-02-06T03:37:24.297 回答
2

run-parts 的联机帮助页指出:

如果既没有 给出--lsbsysinit 选项也没有--regex给出选项,则名称必须完全由 ASCII 大小写字母、ASCII 数字、ASCII 下划线和 ASCII 减号连字符组成。

我认为它不喜欢您的脚本名称。例如,它不喜欢扩展名“.sh”,因为不允许使用点。

于 2014-11-07T09:00:32.537 回答
2

我遇到了这个问题,这是因为我的脚本的所有者/etc/cron.daily不是root。使 root 成为以下所有脚本的所有者/etc/cron.daily

sudo chown root /etc/cron.daily/*

此外,请确保脚本是可执行的:

sudo chmod +x /etc/cron.daily/*
于 2016-05-31T16:03:33.493 回答
1

我有一个喘不过气来/etc/init.d/anacron

我的解决方案:

edit /etc/init.d/anacron

必需的开始:$all

保存并运行:

update-rc.d /etc/init.d/anacron defaults

现在在喘息开始时效果很好。

于 2015-04-17T16:11:26.133 回答