Я хочу создать задание cron, которое открывает каталог, просматривает все журналы, которые я создал, и удаляет все строки, но, например, сохраняет последние 500.
Я думал о чем-то вроде
хвост -n 500 имя_файла> имя_файла
Это сработает?
Я также не уверен, как пройти через каталог в bash
Заранее спасибо.
Вы слышали о logrotate? Считаю, что логи стирать нехорошо.
for file in *; do tail -n 500 filename > filename2 && mv filename2 filename ; done
Запись в файл, который вы читаете, - не лучшая идея. Мое решение также не очень хорошее, так как вы можете потерять журнал между командами tail и mv.
Но все таки
for file in *;
это способ перебрать файлы каталога.
Но почему бы вам не использовать logrotate ??