Получить переменные из grep Output

Я бы не стал делать это с помощью cron, хотя, если вы настаиваете на этом, простая строка find сделает это. Имейте в виду, что вам нужно будет перезапустить службу, потому что файлы в Unix умирают только тогда, когда они больше не используются.

Вернуться в crontab:

*/10 * * * * find /dir -name latest.log -size +1GB -exec rm -f {} \; -exec command_to_restart_your_service \;

Когда вы говорите о стеках, я предполагаю, что вы говорите о tomcat. Взгляните на следующий пост.Тем не менее, если этот сервер настолько важен, я бы перенаправил все журналы на удаленный сервер журналов. Почему у вас повреждения, есть ли у вас там SQL-сервер? Я бы запустил его на отдельном сервере.

Вот ссылка на статью об ограничении размера журналов.

https://stackoverflow.com/questions/8342336/how-to-set-maximim-number-of-rolls-and-maximum-log-size-for-tomcat

0
25.07.2018, 13:47
1 ответ

Вы можете использовать расширенное регулярное выражение (положительный взгляд назад/вперед):

SAMPLESERIAL1=$(ps -o args | grep -Po '(?<=lp_server -n )[[:digit:]]+(?= -d \/dev\/usb\/lp1)')
0
28.01.2020, 04:16

Теги

Похожие вопросы