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

как написать скрипт для остановки jboss и переименовать соответствующий файл журнала в redhat

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

cmiiw, я думаю, вы просто включаете logrotate на jboss-log4j.xml

<pre><code>
      <!-- A time/date based rolling appender -->
    <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      <param name="File" value="${jboss.server.log.dir}/server.log"/>
      <param name="Append" value="true"/>
      <param name="Threshold" value="${jboss.server.log.threshold}"/>  
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n"/>
      </layout>
   </appender>
</pre></code>

Вы можете использовать logrotate, как предлагает Игнасио. Например, следующий фрагмент конфигурации показывает, как выполнить лог-ротацию файла системных сообщений и перезагрузить процесс syslogd. Вы можете использовать prerotate и postrotate для выполнения сценариев / команд до и после вращения файла журнала соответственно.

/var/log/messages {
   rotate 5
   weekly
   postrotate
        /usr/bin/killall -HUP syslogd
   endscript
}

Для получения дополнительной информации проверьте man logrotate.