Hello!

On Tue, 01 Sep 2015 at 23:09:38 (+0300), Valentin Nechayev wrote:

> > > find /usr/obj/ -mindepth 1 -delete
> > > chflags -R 0 /usr/obj/
> > > find /usr/obj/ -mindepth 1 -delete

> > > Первый проход сотрёт 99.999% безфлаговых, но пожалуется пару десятков
> > > раз на файлы с флагом. Очистка флагов и добивка разберётся только с
> > > оставшимися.

> > > (Слэш в конце /usr/obj/ принципиален, если этот obj - симлинк, что
> > > нередко.)

> > А почему не сделать проще?
> > rm -rf /usr/obj/*
> > chflags -R 0 /usr/obj
> > rm -rf /usr/obj/*

> Это ничем не "проще", столько же команд, такие же по сути (для случая
> типичного /usr/obj без посторонних вмешательств).

Лично я вообще не понимаю, в чём соль... Или потерял нить разговора.

00:18:31 [root#nb][w:2][j:0][~]> find /usr/obj/ | wc -l
   54538
00:18:38 [root#nb][w:2][j:0][~]> time chflags -R 0 /usr/obj/
real    0m1.619s
user    0m0.074s
sys     0m0.521s

Это виртуалка о двух ядрах и гиге памяти. Абсолютно не нагруженная.
А вот железный сервер (8 ядер, 8 гиг памяти). Порядочно нагруженный
(веб, БД, много запросов к статике):

00:21:25 [root#mh][j:0][~]> find /usr/obj/|wc -l
   62533
00:21:47 [root#mh][j:0][~]> time chflags -R 0 /usr/obj/
real    0m49.216s
user    0m0.056s
sys     0m0.284s

Зачем эти пляски с двойным rm или find? Оно реально _ощутимо_ ускоряет
процедуру? =)

-- 
George L. Yermulnik
[YZ-RIPE]

Ответить