Если Ваша система или просто приложение, которое Вы хотите записать, направляет свой вывод к звуковому серверу, изучите запись возможностей для того звукового сервера. Например, на Ubuntu, официальным звуковым сервером является PulseAudio, который идет parec
команда (от pulseaudio-utils
пакет Установите pulseaudio-utils http://bit.ly/software-small). Вы, возможно, должны преобразовать вывод из parec
во что-то применимое с SoX (Ubuntu: sox
Носки установки http://bit.ly/software-small).
parec -r --rate=44100 | sox --type raw --rate 44100 - --type ogg recording.ogg
Fsck возвращает Вашу файловую систему согласованному состоянию. Это - не обязательно “последнее” состояние файловой системы, потому что то состояние, возможно, было потеряно в катастрофическом отказе. На самом деле, если были полузаписанные файлы во время катастрофического отказа, то файловую систему не оставили в согласованном состоянии, и это точно, что fsck разработан для восстановления. Другими словами, после выполнения fsck, Ваша файловая система так актуальна, как это может добраться.
Если Ваше приложение потребует обратной связи относительно того, что хранится на диске в случае катастрофического отказа, то необходимо будет сделать больше работы, чем просто запись в файл. Необходимо звонить sync
, или лучше fsync
, после операции записи, чтобы гарантировать, что та конкретная запись посвятила себя диску (но если Вы заканчиваете тем, что делали это много, Ваша производительность будет выпадающий, и Вы захотите переключиться на механизм базы данных). Вам будет нужна журналируемая файловая система, настроенная для максимального выживания катастрофического отказа (в противоположность максимальной скорости).
Свойство, что операция (такая как запись на диск), который был выполнен, не может быть отменена (даже в случае системного катастрофического отказа) называют длительностью. Это - одно из четырех фундаментальных свойств баз данных (ACID). При необходимости в том свойстве читайте на транзакциях.
Хотя файловые системы являются своего рода базой данных, они обычно не разрабатываются для преуспевания относительно свойств ACID: у них есть больше акцента на гибкость. Вы получите лучшую длительность от выделенного механизма базы данных. Затем рассмотрите то, что происходит в случае, если Ваш диск и не Ваша система отказывает: для высокой длительности Вам также нужна репликация.
- N не выполняют, просто показывают то, что было бы сделано.
Снова, Вы просто сделали бы что-то вроде: shell> fsck -N /dev/sda1