Страница 1 из 1

find-удаление

Добавлено: 2012-10-02 10:35:45
dmally
Здравствуйте
Была удобная команда - находила файлы больше 50Мб, и обнуляла - прогавилась :)
find /home/httpd-log -type f -size +5242850c
Найти - находим, а как к этой (это принципиально :) было точно в одну строчку) тут дописать что бы кроме найти - еще и обнулило?
:drinks:

Re: find-удаление

Добавлено: 2012-10-02 12:01:23
kpp
Если нужно удалять файлы:

Код: Выделить всё

find /home/httpd-log -type f -size +5242850c -print0 | xarg -0 -I '{}' echo "{}"
Вместо echo, ставим rm.
Если нужно, так сказать, обнулять файлы:

Код: Выделить всё

find /home/httpd-log -type f -size +5242850c -print0 | xarg -0 -I '{}' | while read fl; do echo "" > "${fl}"; done
Конструкция с xarg нужна на случай большого кол-ва файлов.

Re: find-удаление

Добавлено: 2012-10-02 12:08:02
Bayerische
dmally
Эх, опять mak_v_ скажет, что троллю.
Вам бы newsyslog освоить и не смешить мои копыта.

Re: find-удаление

Добавлено: 2012-10-02 12:29:01
dmally
Bayerische, фу-фу-фу :)
Там 2к+ файлов с логами пользователей, какой суслог :)?
-
kpp с меня пиво, конечно, но я в писании подобного зеленый.
Потому начали - продолжим :):
find /home/httpd-logs -type f -size +5242850c -print0 | xarg -0 -I '{}' | while read fl ; do echo "" > "${fl}" ; done
xarg: Command not found.
while: Expression Syntax.
-
фря 9, xarg нема

Re: find-удаление

Добавлено: 2012-10-02 12:45:24
kpp
Нет xarg? Странно.
"Xarg-а нет, - примите в бубен!" (с)

Код: Выделить всё

find /home/httpd-logs -type f -size +5242850c -print | while read fl ; do :>"${fl}" ; done
Похоже:

Код: Выделить всё

:>"${fl}"
самый готичный способ обнуления файла. ;)

Re: find-удаление

Добавлено: 2012-10-02 12:54:26
dmally
kpp, спасибо
Продолжаем проверять вашу выдержку :)
while: Expression Syntax.
:)

Re: find-удаление

Добавлено: 2012-10-02 12:58:49
kpp
dmally
Какой Shell у вас?

Re: find-удаление

Добавлено: 2012-10-02 13:10:04
dmally
каюсь, с ночи не проснулся.
в bash завелось, низкий поклон Вам - все отлично.

Re: find-удаление

Добавлено: 2012-10-02 13:11:14
kpp
В каком не заводилось?

Re: find-удаление

Добавлено: 2012-10-02 13:21:04
kpp
Виноват, конечно xargs, а не xarg !

Re: find-удаление

Добавлено: 2012-10-02 13:33:19
mak_v_
Bayerische - и снова седая ночь...
ТЗ - обнулить по признаку....может там rsyslog копирует на централизованное хранилище в моменты онлайна или по крону....
newsyslog, logrotate, crontab, periodic........
Вывод-троллинг......to be continued