тогда уж лучше не копировать, а переносить, будет в разы быстрее
17.02.2015 10:49, Alexander Yerenkow пишет: > Я бы предложил вам другие пути :) > > 1. изображения сохраняются в /zfs/temp-path-1/yyyymmdd > раз в сутки (или как вам нужно часто) вы делаете копирование каждого пятого > файла в /zfs/real-store-path > и по истечению суток можно удалить директорию старых суток > > 2. если вам не принципиально чтобы был именно каждый пятый согласно > нумерации, а просто приближение - то есть просто брать 20% изображений, то > можно поиграться с кроном - дёргать каждые несколько минут/часов и делать > не полный find, а > find -Bnewer stampfile ; .... ; touch stampfile; > Тогда будет полегче. > > > 17 февраля 2015 г., 9:59 пользователь Sergey Rudenko <[email protected]> > написал: > >> >> >> 17.02.2015 04:34, Vladislav V. Prodan пишет: >>> Имеем хранилище изображений с камер на ZFS. Изображения сохраняются >> каждые >>> 15 секунд. >>> Нужно периодически прореживать, оставлять каждое 5-е изображение >>> >>> >>> Скрипт работает примерно около суток. Хочется, побыстрее. >>> >>> Благодарю за мнения и помощь. >>> >>> #!/bin/sh >>> >>> dir=/backup/AAA/video/home/2014/09/ >>> >>> #exit >>> >>> # delete all video >>> find $dir -type f -name "*.mp4" -o -name "*.avi" -exec rm -rf {} \; >>> >>> >>> # leave every fifth file, and the rest - remove >>> for i in `find $dir -type d` >>> do >>> cd $i || exit; >>> ls $i | grep snap-\*\.\*\.\*\.jpg | awk 'NR%5!=1' | xargs -I{} -n1 >> rm {} >>> done; >>> >>> >>> >> >> Не знаю будет ли это быстрее, но можно попробовать сделать так >> Изображения вероятно нумеруются либо дата-номер либо таймстамп >> Можно считывать самое старое изображение и по циклу удалять каждые +5 >> изображений, увеличивать счётчик на 5 и далее по циклу. >> > > >
