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

Сценарий Linux, который остановит tomcat, заархивирует файлы журнала и перезагрузит сервер

Я просто ленив здесь, но кто-нибудь уже написал сценарий bash для остановки службы tomcat, заархивировал его файлы журнала (zip было бы неплохо) и перезагрузил сервер? (Используя logrotate или любой другой инструмент)

Я хочу создать задание cron со следующим скриптом:

#!/bin/bash
service tomcat stop
# now I don't know what to do with logrotate or something else
init 6

Пожалуйста помоги.

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

Образец:

/path/to/logs/*.log {
        missingok
        rotate 30
        compress
        delaycompress
        notifempty
        create 640 tomcat tomcat
        sharedscripts
}

А затем сделайте свой сценарий

#!/bin/bash
service tomcat stop
logrotate -f /path/to/your/newly/created/conf/for/logrotate.conf
init 6

Вместо того, чтобы надеяться, что кто-то написал один суперскрипт, который сделает все это, начните с написания сценария, который архивирует файлы журнала при запуске. Если это быстро, добавьте его в сценарии K * после остановки tomcat во время перезагрузки или остановки уровней запуска. Если он медленный, некоторые дистрибутивы просто убивают все через пару секунд, если их сценарий остановки занимает «слишком много времени». Добавьте его в автозагрузку перед запуском tomcat.

Тогда просто shutdown -r now и об этом позаботятся.