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

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

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

  • Диалог AppleScript и повторная команда `say 'не работают в OS X cronjob
  • Как проверить активные клоны?
  • Как планировать выключение каждый день?
  • противоречия crontab и DST с разным часовым поясом
  • OpenBSD: определение нового интерфейса обратной петли
  • Запустить сценарий, когда пользователь выйдет из системы
  • Как я могу это сделать на OpenBSD?

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

  • выполнение сценария sh из cron
  • Добавить одноразовую запланированную задачу через сценарий оболочки?
  • Как запускать несколько сценариев одновременно?
  • Cron: Почему мои скрипты cron не работают, хотя cron работает
  • Сценарий оболочки, выполняемый с cron, приводит к разному размеру файла, чем выполняется вручную
  • Как я могу захватить консоль установки 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 - лучшая ОС в мире.