Как я могу заглянуть на результат выполнения задачи crontab на OpenBSD?

У меня есть часовая часовая задача crontab, работающая с выходом mtr ( traceroute ) каждые 10 минут (это будет продолжаться более часа до того, как она будет отправлена ​​мне по электронной почте), и я хочу увидеть текущий прогресс до сих пор ,

В Linux это можно сделать, обратившись к открытому файлу временного файла, к которому сохраняются результаты скрипта .

Как я могу это сделать на OpenBSD?

Я пробовал делать fstat | fgrep -e USER -e cron -e mtr fstat | fgrep -e USER -e cron -e mtr , но не смог найти никаких временных файлов вообще.

  • Может ли OpenSSH 6.7 опционально не зависеть от OpenSSL?
  • OpenBSD: 32 бит или 64 бит
  • OpenBSD 5.9 извлечение исходного кода через CVS после новой установки OpenBSD 5.9 # anoncvssh: cant 'load library' libc.so.84.2 '
  • Сколько колец использует OpenBSD?
  • Будет ли изменение имени хоста в OpenBSD повлиять на установленные пакеты?
  • Не работает ли sysctl kern.bufcachepercent в OpenBSD 5.2 выше 1,7 ГБ?
  • Как автозапуск KDM при загрузке в OpenBSD 6.0?
  • Как включить и проверить статус защитных страниц в OpenBSD?
  • 2 Solutions collect form web for “Как я могу заглянуть на результат выполнения задачи crontab на OpenBSD?”

    Я исследовал источник относительно того, как cron обрабатывает отправку результатов с заданий:

    • cron(8) устанавливает stdout и stderr выполняемого задания и передает его прямо в mail(1) , не оставляя временных файлов. Посмотрите на do_command.c вокруг строки 411 ( 1 ).
    • mail(1) должен полностью подготовить свой stdin, так как ему нужны заголовки. Он открывает временный файл (обычно /tmp/mail-R… ), но сразу удаляет его, чтобы не оставлять следы. Loøk in collect.c по строке 83 ( 2 ).

    В любом случае, как представляется, предпринимаются целенаправленные усилия, чтобы не оставить вокруг себя доступный временный файл. Если вам нужно (или хотите) перехватить то, что происходит в долговременном cronjob, вам нужно самому создать временный файл.

    Мое предложение на этот момент состоит в том, чтобы, например, добавить tee $HOME/cronjob.out к вашему cronjob, который фиксирует копию вашей работы в безопасном месте.

    Вы должны перехватить вывод (или узнать, где находится временный файл). Не знаю, как это сделать в BSD, извините. Но учтите, что если этот файл не буферизирован, вы сможете видеть вывод только каждый раз, когда он заполняет буфер (примерно 4 KiB), что может занять довольно много времени. Это слишком дорого, просто для того, чтобы сделать это вручную, если вы хотите взглянуть на текущий статус?

    Linux и Unix - лучшая ОС в мире.