Я только что подключил новый сервер и настроил его так же, как старый для 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
и получил такой же результат. Итак, я перезапустился и получил тот же результат!
Мои дополнения:
Я полностью готов поверить, что я сделал что-то не так в конфигурации, или, может быть, есть еще одна проблема, почему я не ДУМАЮ, что они работали, но они сделали. Но я не вижу других записей в systemctl list-timer
s, которые были помещены туда установленными пакетами, которые были там до того, как я даже начал собирать свои собственные дополнения.
Возможно, проблема в том, что я незнаком с выводом таймера списка? Разве это не должно показывать и эти другие работы?
Как и во многих других случаях в Linux, есть несколько способов сделать что-то. Cron и systemd timer - это разные способы сделать что-то похожее на cron, так же как upstart, init.d и systemd - это 3 разные системы инициализации.
Многие рабочие места cron принадлежат конкретный пользователь, так что вы можете либо crontab -l
как конкретный пользователь, или crontab -u username -l
для проверки заданий cron другого пользователя с правами root.
У вас также есть ежедневные, еженедельные, ежемесячные и т. Д.
Хотя вы можете изучить каждый из них, это серия файлов, поэтому
так 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.