Linux 脚本将停止 tomcat、存档日志文件并重新启动服务器

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

请帮忙。

答案1

您可以为 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

答案2

不要指望有人能写出一个超级脚本来完成所有工作,而是先写一个脚本,在运行时归档日志文件。如果速度很快,请在重新启动或停止运行级别期间停止 tomcat 后将其添加到 K* 脚本中。如果速度很慢,某些发行版会在停止脚本“耗时太长”的情况下,在几秒钟后终止所有内容。在启动 tomcat 之前将其添加到启动中。

然后,一切shutdown -r now就会得到处理。

相关内容