LINUX.ORG.RU

Скрипт для создания iso-образа CD/DVD диска для томографа

 , ,


1

1

Собственно задача: К компьютерному томографу прилагается опечатанный комп с корейской виндой. Любое вмешательство - потеря гарантии. Вывод исследований - исключительно прожиг болванки. Рядом поставил ноутбук, накатил Kubuntu 12.04 (да, я люблю кеды и бубунта мне удобна, извините)).

Цель - создание бэкапов исследований в виде образов дисков (там типа защита на наличие диска в приводе, поэтому просто файлы не скинешь).

Метод хранения - дерево катологов вида ФИО/дата исследования_ФИО.iso

Проблема - пользователи рентгенлаборанты в возрасте за сорок. То есть должно быть из разряда ткнул ярлык на рабочем столе, открылся терминал, там вопрос - введите ФИО. При отсутствии диска в приводе - сообщить. При наличии сделать образ и залить в каталог. В идеале можно еще хеш-сумму посчитать, чтобы дублей не было и сравнивать с хешем, который где-то в списке файлов в этом каталоге хранится. И материться, если дублируется.

Реализация - насколько я понимаю, должно быть что-то вроде dd if=/dev/cdrom of=path$date$.iso

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


Это в JOB надо было.

anonymous
()

Я бы еще больше автоматизировал это.

  • Вставить диск в компьютер (миникомп только с cd-rom)
  • Далее компьютер делает все сам
  • компьютер извлекает диск и говорит (пищит) OK или Fail

На мониторе можно вообще ни чего не рисовать и монитор может быть не нужен вовсе. А еще лучше не дампить в iso, а читать данные и парсить в тамошнюю базу.

А еще лучше без диска подключиться прямо к базе этого аппарата. Я так и буду делать для ПроГраф 7000

petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 1)
Ответ на: комментарий от petav

К сожалению, нельзя подключаться к компу томографа. Физически можно - на практике потерей гарантии карается любой чих, кроме записи диска и просмотра/печати исследования. Просто вставить диск и снять инфу не вариант. Нужно же структурно хранить, нужна фамилия пациента. Она где-то в бинарниках исследования. Проще ввести по запросу. Дамп во что-то отличное от iso не будет работать. Прога для просмотра исследования, которая пишется на диск не запускается тупо с компа. Хочет диск зачем-то. Вопрос в написании скрипта на баше. dd использовать?

meklon
() автор топика
Ответ на: комментарий от petav

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

meklon
() автор топика
Ответ на: комментарий от meklon

Физически можно - на практике потерей гарантии карается любой чих, кроме записи диска и просмотра/печати исследования.

Я договориваюсь с сервисным центром оф. бумагой с аргументами почему это нужно.

Вопрос в написании скрипта на баше. dd использовать?

dd снимет iso без проблем

petav ★★★★★
()
Ответ на: комментарий от petav

Муторно согласовывать. Дистрибьюторы с корейцами не договорятся. Диск все равно писать и отдавать пациенту на руки. Перед выдачей копируется на винт. Внутри больницы врачи предположительно будут монтировать под виндой образ и работать как с локальным. dd if=/dev/cdrom of=path$date$.iso правильный вариант? Я что-то туплю. Переменные path и date возьму, как утрамбовать их в имя? Не помню нюансы синтаксиса) Я стоматолог, редко скрипты приходится писать. Плюс надо создать папку с ФИО пациента, выполнив проверку не существует ли она уже. Как такой if exist реализовать? Примерно. Хотя бы что почитать. Времени весь баш штудировать нет. Хеш бы еще проверить. Как хеш образа снять я понимаю. А как его сравнить с /dev/cdrom?

meklon
() автор топика
Ответ на: комментарий от ZuBB

совет интересный,но баш я хоть как-то понимаю) я на visual/turbo basic программы писал) я не понимаю ни питон ни руби. синтаксис тяжелый учить некогда. я стоматолог, блин)

meklon
() автор топика
Ответ на: комментарий от meklon

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

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

ZuBB ★★★★★
()
Ответ на: комментарий от ZuBB

подумаю) но тут вроде скрипт простой, строк на 50 от силы. вы больницу представляете? IT отдела нет. совсем. есть отдел АСУ с тетками. и эникейщик для принтеров и кнопок вкл. есть зоопарк вирусов. Я по случайности более адекватен) Обучаю врачей работать с томографом. тупят 90%. пытаюсь хоть нацарапать скрипты для специально обученных людей-лаборантов. Линукс не понимает никто, а я не факт, что долго там задержусь. поэтому предельно просто и надежно хочу наваять все. рентген перевел на Debian. вирусы отпали. развел локалку. нужно, чтобы без присмотра само работало. тяжело с ними. я выше несколько вопросов задал - не поможете?

meklon
() автор топика

К компьютерному томографу прилагается опечатанный комп с корейской виндой

А какое ПО используется на этом компе? Если комп получает из томографа снимки по сети, значит их же можно перекинуть дальше, на другой комп, где с этими снимками можно делать всё что угодно.

Формат в котором хранятся исследования - dicom же?

null123 ★★
()
Ответ на: комментарий от anonymous

ну тогда помогите человеку, ведь благое дело же

ZuBB ★★★★★
()
Ответ на: комментарий от null123

dicom сырой он ест от томографа. между ними витая пара. база извне закрыта, тупа и глючна. Rayscan томограф. вьювер тоже средний. по пути не перехватить. при включении стартует сразу оболочка. включать в общую сеть запрещают, требуют отдельного канала для мониторинга состояния томографа через интернет.

meklon
() автор топика
Ответ на: комментарий от meklon

Плюс надо создать папку с ФИО пациента,

  • Вставляем диск
  • Запускаем скрипт
  • Скрипт проверяет есть в CD диск
  • Скрипт спрашивает имя, потом фамилию
  • Скрипт снимает дамп
  • Скрипт говрит что столько-то данных скопировано и создан файл такой-то.

Такой алгоритм?

petav ★★★★★
()
Ответ на: комментарий от ZuBB

мне приводилась бы помощь в набросках скелета скрипта. дальше я сам почитаю. просто сделать велосипед я могу. но хотелось бы правильно. плюс пригодился бы opensource dicom-viewer хороший, если кто знает. собственно меня можно послать вполне RTFM:-) Сроки не торопят я сам разберусь. нужна концепция и идеи:-)

meklon
() автор топика
Ответ на: комментарий от petav

именно. я бы еще внес проверку хеш-суммы, но не знаю как хеш с /dev/cdRom снять. как с файла знаю. все предельно просто. скрипт еще должен проверить есть ли папка с пациентом такая уже. если есть положить образ в нее. если нет - создать.

meklon
() автор топика
Ответ на: комментарий от meklon

Понял, скрипт не сложный. Если завтра найду время постараюсь Вам помочь, ну или после праздников.

petav ★★★★★
()
Ответ на: комментарий от petav

Спасибо огромное) Меня вполне устроит примерный макет с описанием) Я маны могу и сам почитать) просто не знаю какими утилитами и как лучше воспользоваться) Мне самому интересно поковыряться) Предполагаю использование dd для дампа, двух переменных ФИО и даты. Не знаю как сделать проверку ifexist на директорию, не знаю как хеш с устройства снять. собственно все) Я прошу лишь указания оптимального пути решения) А то я могу наворотить ереси велосипедной и радоваться)

meklon
() автор топика
Ответ на: комментарий от anonymous

md5 может еще и трудоемким по времени оказаться. Почитаю, спасибо. Объем около 400 Мб, но все же.

meklon
() автор топика

Реализация - насколько я понимаю, должно быть что-то вроде dd if=/dev/cdrom of=path$date$.iso

Чтобы видеть когда что было скопировано и отмечать успешность/неуспешность копирования, можно такой командой.

# cur_name="сформировать нужное имя"
# ddrescue -v /dev/cdrom ./store/iso/${cur_name}.iso ./store/log/${cur_name}.log

justAmoment ★★★★★
()
Последнее исправление: justAmoment (всего исправлений: 1)
Ответ на: комментарий от meklon

Если копировать будет слишком медленно, можно попробовать добавить ключ «ddrescue --direct».

justAmoment ★★★★★
()
read -p="Введите вашу фамилию и нажмите \"ввод\":" surname
mkdir ~/backups
dd if=/dev/cdrom of="~/backups/`eval date +%Y.%m.%d_%H.%M.%S`_${surname}.iso"
echo "Задача выполнена, нажмите \"ввод\" и извлеките диск.
read

Скорее всего не работает, ибо я быдлокодер.

AlexCones ★★★
()
Последнее исправление: AlexCones (всего исправлений: 1)
Ответ на: комментарий от AlexCones

Вот как раз ввод инфы в баше я никак не освою))

meklon
() автор топика

Зачем вам бекапы? Продадите историю болезни страховым компаниям?

Если вы будете хранить бекапы на корейском опечатанном компе, то ССЗБ.

anonymous
()
Ответ на: комментарий от anonymous

backup'ы будут на отдельном компе. образы будут также использоваться врачами для просмотра исследования. иначе нужно диск пациента вставлять каждый раз.то есть если с одним пациентов трое стоматологов работают - нужно диск туда-сюда носить или писать три копии. страховые тут вообще непонятно при чем.

meklon
() автор топика
Ответ на: комментарий от meklon

Спасибо за пояснения. Конечно, опасения за утечку данных у нас еще не так сильны, как в развитых странах [1]

Insurance companies could potentially use electronic medical records to single out unwanted patients. Especially life insurance companies are very interested in this data.

[1] http://www.stlr.org/2011/03/despite-risks-electronic-medical-records-will-lik...

anonymous
()
Ответ на: комментарий от anonymous

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

meklon
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.