Подробности последней работы cron в Unix-подобных системах?
Я хочу получить информацию о последнем запуске задания cron. Если задание прерывается из-за некоторых внутренних проблем, я хочу повторно запустить задание cron.
Примечание. У меня нет привилегии суперпользователя.
Ответ 1
Вы можете видеть дату, время, пользователь и команду ранее выполненных заданий cron, используя:
grep CRON /var/log/syslog
Это покажет все задания cron. Если вы хотите видеть только задания, выполняемые определенным пользователем, вы должны использовать что-то вроде этого:
grep CRON.*\(root\) /var/log/syslog
Обратите внимание, что cron регистрирует в начале задания, чтобы вы могли иметь длительные задания, сохраняя свои собственные журналы завершения; если система опустилась на полпути через задание, она все равно будет в журнале!
Изменить: Если у вас нет доступа root, вам придется оставить свои собственные журналы работы. Это можно сделать просто, применив следующее к концу вашей команды:
&& date > /home/user/last_completed
Файл /home/user/last_completed всегда будет содержать последнюю дату и время выполнения задания. Вы бы использовали >> вместо >, если хотите добавить даты завершения в файл.
Вы также можете добиться того же, поставив свою команду в небольшом bash или sh script, и cron выполнит этот файл.
#!/bin/bash
[command]
date > /home/user/last_completed
Кронтаб для этого будет:
* * * * * bash /path/to/script.bash
Ответ 2
/var/log/cron содержит журналы работы cron. Но вам нужна привилегия root.