I'm just being lazy here, but does any one have already writen bash script for stopping tomcat service, archive it's log files (zip would be nice) and reboot the server? (Using logrotate or any other tool)
I want create cron job with following script:
#!/bin/bash
service tomcat stop
# now I don't know what to do with logrotate or something else
init 6
Please help.
You can make a config file for logrotate that takes care of the log rotation. You can place it outside of logrotate.d and then just use it when calling logrotate manually.
Sample:
And then make your script
Instead of trying to hope someone wrote one Super Script that does it all, start by writing a script that archives the log files when its run. If it's fast, add it to the K* scripts after tomcat is stopped during reboot or halt runlevels. If it's slow, some distributions just kill everything after a couple of seconds if their halt script takes "too long". Add it to the startup ahead of starting tomcat.
Then, just
shutdown -r now
and it'll be taken care of.