Bash защитить HD от чрезмерного использования - PullRequest
0 голосов
/ 20 января 2012

Как мне не сломать HD?У меня есть скрипт bash, работающий на машине с Ubuntu, с этим метакодом:

bash1.sh

while(true)
 run bash2.sh
 sleep 60 seconds
done

bash2.sh:

if(directory is empty): exit
process file
delete file

Каталог является сетевым, и компьютер больше ничего не делает.Один раз в день новый файл поступает и обрабатывается.(Я знаю, что bash1.sh можно заменить на watch ).Меня беспокоит то, что bash1.sh каждый раз читает bash2.sh - этого, по-видимому, можно избежать, если использовать только один скрипт !?и bash2.sh читает один и тот же каталог каждый раз.Каталог действительно читается с HD, или Ubuntu как-то кэширует каталог в оперативной памяти?-так это читается только когда что-то меняется?проблема в том, что это то же самое место на HD, которое читается каждый раз, или это не имеет значения, потому что HD уже вращается?Если HD никогда не спит, имеет ли значение, если я установлю время цикла только на одну секунду?

Может быть, каталог может быть чисто оперативной памятью - как мне это сделать?-или ли какой-нибудь простой способ проверить, что что-то пришло по сети, не читая каталог?

1 Ответ

1 голос
/ 20 января 2012

Чтение файла или каталога каждые шестьдесят секунд - это не чрезмерное использование.

Серьезно, не беспокойтесь об этом.


Если это действительнобеспокоя вас, вы можете переосмыслить свою стратегию обнаружения файла.

Например, действительно ли вы должны знать, в течение шестидесяти секунд, что файл прибыл?Это может прибыть в любое время в течение дня?Можно ли считать некоторые части дня маловероятными?

Используя подобную информацию, вы можете настроить время проверок в соответствии с вашими потребностями.Если файл должен быть доставлен после 16:00, не проверяйте его вообще до этого момента.

Проверяйте его каждые шестьдесят секунд с 16:00 до 17:00, а затем каждые десять минут.

Это все связанные с бизнесом решения, которые могут быть приняты, но я все же предположил бы, что это не нужно.При условии, что вы регулярно создаете резервные копии своих дисков (и имеете резервное оборудование, если вам нужно сделать резервную копию в спешке), вы ничего не потеряете.

На самом деле, если бы вы были действительно Параноик, вы можете посвятить этому целую машину, единственная цель которой - получить файл по FTP и, когда он прибудет, отправить его в ваш реальный блок обработки.

Поместить Ничего еще на этой машине и иметь теплый резерв (точно такое же программное обеспечение, IP-адрес и т. д., но выключенный), чтобы в случае сбоя резерв можно было активировать за считанные минуты.

Реальная машина обработкизаписывается только один раз в день - это вряд ли повлияет на срок службы диска.

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

...