BASH: использование RAM диска

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Fat-Fat
Сообщения: 27

BASH: использование RAM диска

Сообщение Fat-Fat »

Написал скрипт на баше, который выполняет запись в файл, если есть пинг до определенного адресса, скрипт запускается каждые 10 минут, при помощи cron. Но постоянно дергать диск не хочется, есть ли какая нибуть технология, которая бы записывала эти данные в ОЗУ, а по истечению часа, переписывала их в файл, а то начинала собирать по новой?

Извините за возможную некоректность изложения мысли, только начинаю этим заниматься.

PS Реализация должна быть написанна на баше. Если совсем не будит вариантов, то на C++ или еще на чем нибуть.
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: BASH: использование RAM диска

Сообщение Sleeping Daemon »

Fat-Fat писал(а):
08.02.2008 06:26
Написал скрипт на баше, который выполняет запись в файл, если есть пинг до определенного адресса, скрипт запускается каждые 10 минут, при помощи cron. Но постоянно дергать диск не хочется, есть ли какая нибуть технология, которая бы записывала эти данные в ОЗУ, а по истечению часа, переписывала их в файл, а то начинала собирать по новой?

Извините за возможную некоректность изложения мысли, только начинаю этим заниматься.

PS Реализация должна быть написанна на баше. Если совсем не будит вариантов, то на C++ или еще на чем нибуть.

Создайте RamFS и пишите туда. Только это вообще плохая идея.
Спасибо сказали:
ssh
Сообщения: 78
ОС: Debian

Re: BASH: использование RAM диска

Сообщение ssh »

Раз в десять минут можно и на диск писать, особо ни о чем не беспокоясь. И даже раз в минуту. А раз в час сжимать написанное gzip'ом.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: BASH: использование RAM диска

Сообщение allez »

Fat-Fat, жесткие диски, вообще говоря, рассчитаны на непрерывную круглосуточную работу. Так что можете спокойно "дергать" свой диск. ;) В конце концов, он за это "зарплату" в виде электропитания получает. :)
Спасибо сказали:
Fat-Fat
Сообщения: 27

Re: BASH: использование RAM диска

Сообщение Fat-Fat »

Конечно можно не забивать голову этим, но я преследую цель еще и обучения :crazy:

Поможет кто?
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: BASH: использование RAM диска

Сообщение allez »

Тогда почитайте про /dev/shm. Например, в этой подборке.
Спасибо сказали:
Fat-Fat
Сообщения: 27

Re: BASH: использование RAM диска

Сообщение Fat-Fat »

Прочитал статью на http://www.citforum.ru/operating_systems/l...bins/fs03.shtml, а может кто нибуть пояснить как это реализовывается в баше?
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: BASH: использование RAM диска

Сообщение Sleeping Daemon »

Fat-Fat писал(а):
11.02.2008 07:34
Прочитал статью на http://www.citforum.ru/operating_systems/l...bins/fs03.shtml, а может кто нибуть пояснить как это реализовывается в баше?

А вы можете уточнить, что имеено Вас интересует в реализации на баше, использование, механизм, или что?
Спасибо сказали:
Fat-Fat
Сообщения: 27

Re: BASH: использование RAM диска

Сообщение Fat-Fat »

Запись переменно в ОЗУ, считывание ее от туда, увеличение на единицу и опять запись. Думаю этот пример даст понять как это работает. Еще желательно, что бы по достижения 100, переменная записывалась в архив и обнулялась, потом по новой.
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: BASH: использование RAM диска

Сообщение Doka »

Fat-Fat
используйте существующий /dev/shm и не извращайтесь.
просто тупо пишете кроном туда, а потом переписываете на хард-диск

пример:

Код: Выделить всё

$ super_ping_utility >> /dev/shm/myfile.log
Never stop thinking..................................................................
Спасибо сказали:
Fat-Fat
Сообщения: 27

Re: BASH: использование RAM диска

Сообщение Fat-Fat »

По видемому надо было указать еще, что я новичек :)

Задача у меня такая.

Есть скрипт, находится в cron, который каждые 10 минут вызывает скрипт, который в свою очередь создает переменную count=0 и увеличивает ее на единицу и перезаписывает ее в файл 1.log. Так как мне зделать, что бы скрипт создовал переменную count, если она не инициализированна в ОЗУ, увеличивал ее на единицу, затем записывал результат опять же в ОЗУ, и при достижении count=100, записывал это дело в файл, обнуляя count.

Понимаю задача не имеет никакой ценности, но она на мой взгляд хорошо продемострирует работу с ОЗУ из баша. Так же осознаю, что это все можно записывать напрямую в файл, но как я уже писал, это мне нужно для знаний.
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: BASH: использование RAM диска

Сообщение sirocco »

Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: BASH: использование RAM диска

Сообщение Doka »

Fat-Fat писал(а):
11.02.2008 11:15
По видемому надо было указать еще, что я новичек :)
Задача у меня такая...

и что с того?
что мешает тоже самое написать в баш-скрипте:

Код: Выделить всё

$ super_ping_utility >> /dev/shm/myfile.log
??

(пояснение: в данном примере осуществляется перенаправление вывода утилиты super_ping_utility в файл /dev/shm/myfile.log , физически находящийся в ОЗУ. Если файл существует, запись производится в конец файла (дописывается) )
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: BASH: использование RAM диска

Сообщение Liksys »

В /etc/fstab добавь строчку:

Код: Выделить всё

none     /mount/point     tmpfs     defults,size=32768     0 0

При монтировании это создаст виртуальную фс в памяти размером 32КБ и смонтирует в /mount/point.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: BASH: использование RAM диска

Сообщение Portnov »

А вообще-то, эти старания совершенно бессмысленны: ОС сама буферизует данные для записи на диск, и делает это довольно эффективно. Создание "самодельных" буферов только увеличит накладные расходы.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: BASH: использование RAM диска

Сообщение Doka »

Liksys
вообще-то в той же ОС: Fedora Linux 7 в /etc/fstab уже от рождения прописано:

Код: Выделить всё

tmpfs                   /dev/shm                tmpfs   defaults        0 0

и я так подозреваю, что не в ей одной (по кр.мере в RH-подобных точно есть).
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: BASH: использование RAM диска

Сообщение Liksys »

И что? Я просто сказал, как сделать RAM-диск.
Спасибо сказали: