Назад | Перейти на главную страницу

Как я могу смыть и / или повернуть кроневенты?

Может ли кто-нибудь сказать мне, как я могу смыть / очистить / обнулить или еще лучше повернуть содержимое cronevents?

Мне нужно решить эту проблему, потому что я пытаюсь «создать» свою пару экземпляров файлового сервера, которая полагается на некоторые службы в Cygwin (CYGWIN_NT-6.0 x86-64), с заданием cron, которое выполняется каждые 10 минут.

cronevents - полезное средство при отладке. Но теперь я тестирую целые прогоны в течение нескольких дней, и cronevents требуется несколько минут, чтобы добраться до сути. Это через несколько дней; поэтому я не могу себе представить, что это полезный подход к отслеживанию шагов через несколько лет.

Что касается реализации cronevents, я вижу, что она реализована как /bin/cronevents.exe. Страницы руководства нет, и единственный совет -

$ cronevents --help
Usage: cronevents
Function: prints cron and crontab Windows event log entries on stdout.
Return value: 0 on success, 1 the if application log cannot be opened.

Как вы можете видеть из вышеизложенного, похоже, явно не хватает советов относительно того, как поддерживать контрольный журнал cronevents до ограниченного размера.

Мне не удалось выяснить, где хранится этот файл событий. У кого-нибудь есть решение?

Привет, я вижу, что этот вопрос посещали несколько раз. Поскольку на момент написания статьи в Интернете нет ответа, мне лучше написать обходной путь, который я принял до сих пор. Мой обходной путь был протестирован мной в Cygwin 1.7.32 / cron 5.

Проблема в том, что операция вызова cronevents в Cygwin кажется недокументированной. Но судя по экспериментам с операционной системой хоста - в данном случае Windows 2008 - операцией croneents является чтение файла журнала событий приложений Windows. Затем он извлекает события, которые были записаны в этот журнал cron и crontab.

Обнаружив, что именно происходит, становится ясно, что на самом деле существует ограничение на размер журнала событий, установленный в Windows. Проблема просто в том, что размер по умолчанию составляет 19,8 МБ. На практике вы можете обнаружить, что это относительно много, если вы пытаетесь прочитать результирующие строки, созданные cronevents, и даже отслеживание последних 100 строк занимает больше времени, чем вы могли бы пожелать.

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

  1. После входа в Windows запустите eventvwr, который вызывает экран пользовательского интерфейса.
  2. Выберите запись «Журналы Windows» и дважды щелкните, чтобы развернуть их список.
  3. Щелкните правой кнопкой мыши журнал «Приложение» и выберите «Свойства», чтобы увидеть расположение файла, размер, политику перезаписи / вращения и т. Д.
  4. Поле «Максимальный размер файла журнала (КБ):» можно уменьшить до 1028 КБ. Набрав 1028 в поле, а затем очистив журнал с помощью кнопки «Очистить журнал» в правом нижнем углу графического интерфейса, я внес необходимые коррективы.

По моему опыту, это было достаточно хорошим исправлением для более управляемой регистрации событий cron.

Так что это лучшее разрешение, которое я нашел до сих пор. Очевидно, я предпочел бы найти ответ, используя команды в удаленной командной строке cygwin, и не хотел бы, чтобы мне приходилось входить в систему на рабочем столе Windows. Но после настройки решения емкости через Windows должна быть возможность сохранить сервер работающим и с этого момента сконцентрироваться на стороне cygwin bash.

Я думаю, было бы полезно получить предупреждение о необходимости предварительной настройки емкости cronevents во время настройки cygwin под Windows, так что, надеюсь, эта заметка избавит будущих разработчиков от некоторых проблем с ее пониманием.