我正在远程计算机上运行 Ubuntu 20.04 作为服务器。我已经确认 cron 正在作为服务运行:
$ sudo service cron status
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-05-02 12:17:55 PDT; 4h 45min ago
Docs: man:cron(8)
Main PID: 2769 (cron)
Tasks: 1 (limit: 526)
Memory: 4.7M
CGroup: /system.slice/cron.service
└─2769 /usr/sbin/cron -f
它有可以运行的作业/var/spool/cron/crontabs
:
* * * * * /bin/bash -l -c '/tmp/test.sh' >>/tmp/crontest 2>&1
这会创建正确的输出:
$ cat /tmp/crontest
Mon 02 May 2022 05:02:01 PM PDT
Mon 02 May 2022 05:03:01 PM PDT
Mon 02 May 2022 05:04:01 PM PDT
但没有被记录:
$ cat /etc/rsyslog.d/50-default.conf
cron.* /var/log/cron.log
$ ls -lt /var/log/cron.log
-rw-rw---- 1 syslog adm 0 Mar 28 2021 /var/log/cron.log
我已停止并重新启动该服务。我已经重新启动了服务器。我更改了组权限。我尝试将日志目录更改为/tmp
per这个问题,这不起作用,所以我不认为这是权限问题。
我不知道如何从这里继续前进。有很多人遇到类似的问题,但大多数似乎与错误配置的 crontab 有关。任何帮助表示赞赏。
编辑:添加journalctl输出。好像也在那边工作。
$ journalctl -xe -u cron.service | tail
May 02 12:17:55 sidero systemd[1]: Started Regular background program processing daemon.
-- Subject: A start job for unit cron.service has finished successfully
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit cron.service has finished successfully.
--
-- The job identifier is 736.