Leave a comment

Comments 12

eking_go February 27 2014, 10:42:34 UTC
Если нужны только директории - то "-type d"

директории 20140221 - точно создаются не заранее? посмотрите их дату создания/модификации. Кстати, может их искать как раз по дате модификации?

" он почему то ! -name 'CAM3_TV-IP501P' не воспринимает"
-not -name 'CAM3_TV-IP501P'

Reply

korp_mac February 27 2014, 10:47:53 UTC
Ну это не сильно меняет ситуацию в общем то, он всё-равно при find /home/videoadmin/data/ -maxdepth 3 -type d -ctime +5 находит ( ... )

Reply

eking_go February 27 2014, 10:54:40 UTC
stat /home/videoadmin/data/10.15.4.237/2014022*
?

Reply

korp_mac February 27 2014, 10:56:36 UTC
stat /home/videoadmin/data/10.15.4.237/2014022 ( ... )

Reply


dil February 27 2014, 10:50:49 UTC

# find /home/videoadmin/data/ -maxdepth 3 -mindepth 2
/home/videoadmin/data/10.15.4.236/20140221
/home/videoadmin/data/10.15.4.236/20140221/07
/home/videoadmin/data/10.15.4.236/20140221/04
/home/videoadmin/data/10.15.4.236/20140221/02
/home/videoadmin/data/10.15.4.237/20140221
/home/videoadmin/data/10.15.4.237/20140221/07
/home/videoadmin/data/10.15.4.237/20140221/04
/home/videoadmin/data/10.15.4.237/20140221/02

А если их все равно рекурсивно удалять, то

# find /home/videoadmin/data/ -maxdepth 2 -mindepth 2
/home/videoadmin/data/10.15.4.236/20140221
/home/videoadmin/data/10.15.4.237/20140221

И попробуйте вместо ctime использовать mtime.

Reply

korp_mac February 27 2014, 10:56:12 UTC
Похоже find /home/videoadmin/data/ -maxdepth 2 -mindepth 2 -type d -mtime +4 это как раз то что мне нужно, спасибо большое

Reply

ping_f February 27 2014, 11:53:43 UTC
А если добавить -exec rm -r {} \ то и удалять будет в этой же строчке.

Reply

korp_mac February 27 2014, 11:54:11 UTC
Да с этим то проблем нет :)

Reply


aabp February 27 2014, 12:28:26 UTC
ещё искомые каталоги можно выкусить так

$ ls -1
20140221
20140222
20140223
20140224
20140225
20140226
20140227

$ ls | while read A; do if [ $A -lt `date --date '-5 days' +%Y%m%d` ]; then echo $A; fi; done
20140221

Reply

aabp February 27 2014, 12:34:27 UTC
а сам скрипт будет выглядеть примерно так:

cd /home/videoadmin/data/
ls | grep -v "то что не обрабатываем"| while read DDIR; do cd $DDIR; ls | while read A; do if [ $A -lt `date --date '-5 days' +%Y%m%d` ]; then rm -rf $A; fi; done; cd ../; done

Reply


Leave a comment

Up