在 Fexora Server 32 上,新的 cron 作业不会通过 systemctl list-timers --all 显示

在 Fexora Server 32 上,新的 cron 作业不会通过 systemctl list-timers --all 显示

我刚刚将一台新服务器上线,并按照旧服务器上的 cron 配置方式对其进行了配置,但作业并未运行。因此,我仔细检查了配置,并检查了当前 cron 是否与旧 cron 一样运行。是的,看起来是这样!

由于它是一个“systemd”类型的系统,我运行了适当的命令来查看它认为已安排的内容,以下是我得到的结果:

# systemctl list-timers --all
NEXT                        LEFT          LAST                        PASSED     UNIT                         ACTIVATES
Sun 2020-08-16 15:15:55 PDT 5min left     Sun 2020-08-16 14:15:54 PDT 54min ago  dnf-makecache.timer          dnf-makecache.service
Sun 2020-08-16 20:57:26 PDT 5h 47min left Sat 2020-08-15 20:57:26 PDT 18h ago    systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Mon 2020-08-17 00:00:00 PDT 8h left       Mon 2020-08-10 00:00:00 PDT 6 days ago fstrim.timer                 fstrim.service
Mon 2020-08-17 00:00:00 PDT 8h left       Sun 2020-08-16 00:00:01 PDT 15h ago    mlocate-updatedb.timer       mlocate-updatedb.service
Mon 2020-08-17 00:00:00 PDT 8h left       Sun 2020-08-16 00:00:01 PDT 15h ago    unbound-anchor.timer         unbound-anchor.service

5 timers listed.

一切都很好,但它没有显示我添加的具体内容 - 任何内容。因此,我做了我认为正确的事情,我运行systemctl reload crond.service并得到了相同的输出。所以我重新启动并仍然得到相同的输出!

我的补充是:

  1. cron.d:本地 - 一组不在常规时间表上的本地事物
  2. cron.daily:backup.daily logrotate mailbox_check
  3. cron.monthly;backup.monthly,和;
  4. cron.weekly;备份.weekly

我完全相信我在配置中犯了错误,或者可能是其他问题导致我认为它们没有运行,但实际上它们确实运行了。但我没有在 ssystemctl list-timer输出中看到其他条目,这些条目是由安装的软件包放置在那里的,甚至在我开始自己添加东西之前就已经在那里了。

也许问题在于我不熟悉 list-timer 输出?它不应该也显示这些其他作业吗?

答案1

就像 Linux 中的许多东西一样,做事情的方法不止一种。Cron 和 systemd 计时器是执行类似 cron 的事情的不同方法,就像 upstart 一样,init.d 和 systemd 是 3 个不同的 init 系统。

许多 cron 任务由特定用户,因此您可以crontab -l作为特定用户,或crontab -u username -l以 root 身份检查另一个用户的 cron 作业。

你还可以查看每日、每周、每月等等

虽然你可以深入研究每一个,但它们是一系列文件,因此

所以ls -la /etc/cron.*会给你一个概述

geek@heckate_router:~$ ls -la /etc/cron.*
/etc/cron.d:
total 28
drwxr-xr-x   2 root root  4096 Jan 22  2020 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rw-r--r--   1 root root   589 Jun 26  2018 mdadm
-rw-r--r--   1 root root   102 Nov 16  2017 .placeholder
-rw-r--r--   1 root root   190 Jul 25  2018 popularity-contest

/etc/cron.daily:
total 76
drwxr-xr-x   2 root root  4096 Aug 12 06:54 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rwxr-xr-x   1 root root   376 Nov 20  2017 apport

.....


/etc/cron.hourly:
total 20
drwxr-xr-x   2 root root  4096 Jul 25  2018 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rw-r--r--   1 root root   102 Nov 16  2017 .placeholder

/etc/cron.monthly:
total 20
drwxr-xr-x   2 root root  4096 Nov 18  2018 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rw-r--r--   1 root root   102 Nov 16  2017 .placeholder

/etc/cron.weekly:
total 28
drwxr-xr-x   2 root root  4096 May 30  2019 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rwxr-xr-x   1 root root   723 Apr  7  2018 man-db
-rw-r--r--   1 root root   102 Nov 16  2017 .placeholder
-rwxr-xr-x   1 root root   211 Jun 27  2018 update-notifier-common

将这些转换为systemd 计时器脚本超出了这个答案的范围,但它们是不是与经典的 cron 作业相同。

相关内容