Автоматически воссоздавать раздел, если он поврежден

Я собираюсь внедрить Ubuntu на встроенное устройство. Я использую комбинацию aufs и root только для чтения, чтобы гарантировать, что мой root fs не будет поврежден. Тем не менее, я хочу иметь возможность хранить журналы, поэтому я создаю специальный раздел rw для /var/log . Устройство будет проходить сотни событий сбоя питания.

В случае повреждения раздела из-за сбоя питания я хочу, чтобы система работала нормально. Я бы хотел, чтобы раздел автоматически переформатировался в случае коррупции. Есть ли простой способ настроить это?

Запустите fsck с набором опций, которые не определяют взаимодействие пользователя. Проверьте его возвращаемое значение, чтобы узнать, может ли он восстановить файловую систему: возвращаемое значение будет равно 0, если ошибок не было, 1 если были исправляемые ошибки и большее значение, если произошло что-то плохое. Например, с помощью ext [234] запустите e2fsck -p .

 e2fsck -p /dev/disk/by-label/logs if [ $? -ge 1 ]; then mke2fs -L logs /dev/disk/by-label/logs fi 

Если ваша рабочая среда позволяет это, рассмотрите возможность ведения журнала через сеть (вам необходимо подключение по IP). Даже Busybox может это сделать:

 syslogd -R logserver klogd 

На сервере журналов слушайте по порту UDP 514. Вы можете просто сбрасывать все, что входит в файл, или вы можете добавлять отметки о происхождении и даты в каждой строке, или вы можете запускать syslog локально.

Просто используйте файловую систему, которая не повреждается при сбоях питания, например, ext3 или 4.