Я бы не стал делать это с помощью cron, хотя, если вы настаиваете на этом, простая строка find сделает это. Имейте в виду, что вам нужно будет перезапустить службу, потому что файлы в Unix умирают только тогда, когда они больше не используются.
Вернуться в crontab:
*/10 * * * * find /dir -name latest.log -size +1GB -exec rm -f {} \; -exec command_to_restart_your_service \;
Когда вы говорите о стеках, я предполагаю, что вы говорите о tomcat. Взгляните на следующий пост.Тем не менее, если этот сервер настолько важен, я бы перенаправил все журналы на удаленный сервер журналов. Почему у вас повреждения, есть ли у вас там SQL-сервер? Я бы запустил его на отдельном сервере.
Вот ссылка на статью об ограничении размера журналов.
Вы можете использовать расширенное регулярное выражение (положительный взгляд назад/вперед):
SAMPLESERIAL1=$(ps -o args | grep -Po '(?<=lp_server -n )[[:digit:]]+(?= -d \/dev\/usb\/lp1)')