Как проверить, когда Perl последний раз запускалась? - PullRequest
0 голосов
/ 25 мая 2018

У меня есть Perl-скрипт, который запускается 2 раза в день с использованием cron.Я хотел бы знать команду, чтобы проверить, когда моя Perl-программа в последний раз запускалась.Существует ли такая команда?Если нет, не могли бы вы, ребята, скажите, пожалуйста, как я справлюсь с этой задачей?

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Чтобы ответить на ваш первый вопрос, нет, не существует обобщенного способа узнать, когда программа в последний раз запускалась.И в этом случае все сложнее, поскольку сценарий perl на самом деле не является программой - интерпретатор perl является исполняемым файлом, а сценарий является входом для интерпретатора.Поэтому вы действительно хотите знать, когда в последний раз интерпретатор perl запускался и выполнял ваш сценарий.

Некоторые механизмы, запускающие другие программы (например, cron), могут сохранять файлы журнала, которые записываются, когда программызапустить (и, возможно, их код выхода или другую информацию о выполнении).Примечание: это не будет регистрировать каждый раз, когда эта программа запускалась - только когда она выполнялась через cron.Точно так же вы можете добавить некоторые записи в ваш скрипт для записи в файл, в котором он был запущен.Хотя если сценарий не запустится или не сможет записать в файл журнала (скажем, например, ваши права доступа испорчены), он не будет регистрировать это выполнение.Так что это не надежное решение.Но этого может быть достаточно для ваших целей.

Что касается ведения журнала cron, вы можете man cron или man crontab, или посмотреть на некоторые вопросы SO непосредственно о ведении журнала cron.Например, cron jobs - как войти?

0 голосов
/ 25 мая 2018

В верхней части вашего скрипта поместите

open LAST, ">", "/tmp/last.time.the.program.ran";
print LAST scalar localtime;
close LAST;

Теперь команда, чтобы увидеть, когда ваша программа в последний раз запускалась, -

$ cat /tmp/last.time.the.program.ran

(Вы также можете копаться в /var/log/cron)

...