Я должен быть беспокойством о макс. количестве файлов в папке в *, ОТКЛОНЯЮТ файловые системы?

Образец того, как Вы сделали бы то, что Вы хотите в жемчуге.

#!/usr/bin/perl

use strict; 
use warnings;

# Start the first script
my $first_script = `/script1.sh`;

my $string_to_find = 'Server Blah Blah started';
my $string_not_found = 1;
my $counter = 0; # counter ofcourse start at 0
my $timer = 300; # since your sleep is set for 1 second this will 
                 # count to 300 before exiting

while($string_not_found){
    exit if ($counter > $timer); # this will make the application exit 
                                 # if the give timer is hit
                                 # you can aswell replace it by
                                 # $string_not_found = 0 if...
                                 # if you want it to run the 2nd code
                                 # as an attempt instead of only exiting
    my $last_line = `tail -1 /my/app/log/file.out`;
    if($last_line =~ /$string_to_find/ig) {
        $string_not_found = 0;
    }else {
        # sleep a little
     $counter++;
        sleep 1;
    }
}
# By the time we are here we are good to go with the next script.
my $second_script = `/script2.sh`;
print 'Finished';
exit;

С вышеупомянутым кодом это только запустит вторую программу, если слово было найдено, после того как первый конец программы, печатающий его, производится.

ОБНОВЛЕНИЕ: Если программа не производит то, что Вы хотите, но существует файл журнала, где это запишет информацию, Вам нужно, можно использовать его в жемчуге также так Ваш не ограниченный вообще.

1
задан 3 July 2012 в 10:28
2 ответа

Со временем ext3 не станет лучшим выбором для каталогов, содержащих огромное количество файлов, даже если он получил индексы каталогов и другие функции. Это верно, особенно если каталог имеет много операций записи в дополнение к частым операциям чтения, или если файлы в этом каталоге обслуживаются через NFS / Samba.

В общем, было бы лучше спроектировать хеширование файлов в подкаталогах каким-либо образом, например

a/apple.png
b/banana.png
c/cow.png

или

a/ap/apple.png
b/ba/banana.png
c/co/cow.png

Сделанное вами предложение (после того, как некоторое количество файлов в одном каталоге создаст другой каталог), также хорошо.

2
ответ дан 3 December 2019 в 21:46

См. Индексирование каталогов в Функции, найденные в Linux 2.6 . В нем упоминаются каталоги с более чем 16 миллионами файлов. На время должно хватить.

0
ответ дан 3 December 2019 в 21:46

Теги

Похожие вопросы