Изменить файловую систему без потери данных

Один из способов добиться этого — grep, например,

grep "^[^#]* in production " file.conf || script file.ext

Часть после ||выполняется только в том случае, если часть перед ней не существует с кодом выхода 0, а grepимеет код выхода 0, только если он находит свой шаблон (первый аргумент ).

Я выбрал простой шаблон "^[^#]* in production ". Символ ^обозначает начало строки, [^#]обозначает любой символ, кроме #, а квантификатор *говорит, что их может быть любое количество. Остальная часть шаблона — это просто текст, который вы ожидаете отметить в производственном режиме.

Чтобы избежать создания всего вывода grep, вы можете отправить его на/dev/null:

grep "^[^#]* in production " file.conf > /dev/null || script file.ext

Если вы хотите распечатать сообщение, если вы находитесь в производственном режиме и скрипт не запущен, вы можете

grep "^[^#]* in production " file.conf > /dev/null && \
    echo "We are in production mode. The script was not run." || \
    script file.ext
2
30.07.2019, 00:16
2 ответа

Семейство расширяемых файловых систем (ext )обеспечивает однократное обновление (ext2 до ext3 и ext3 до ext4 ); но это возможно только потому, что файловая система была специально разработана для этого. Могут быть и другие семейства файловых систем, разработанные с аналогичной функцией. В случае обновления файловой системы внутри семейства риск сбоя относительно низок. В любом случае было бы разумно сделать резервную копию данных перед обновлением файловой системы на случай, если что-то пойдет не так.

Создан инструмент для преобразования между некоторыми типами файловых систем в Linux. Теоретически fstransform может работать с любой файловой системой Linux, поддерживающей разреженные файлы (поддерживаются как ext4, так и XFS ). Требуется некоторое свободное пространство (Для преобразования в XFS рекомендуется более 10% свободного места ), и для преобразования файловая система должна быть переведена в автономный режим.

2
27.01.2020, 22:08

robartsd прав на 101%, когда советует делать резервную копию ваших данных; Я думаю, что перед переходом с ext4 на XFS требуется несколько резервных копий, каждая из которых проверена. Да, это 288 ТБ, но только вы знаете, что будет, если вы потеряете свои данные.

Одно из предложений состоит в том, чтобы запустить mkfs.xfs /dev/xvdf1 -f, пакет, который почти наверняка уже установлен в вашем RHEL, после просмотра источника предложения . Другой использует fstransformmoreи more , который устанавливается исходным кодомsudo dnf install fstransform().

1
27.01.2020, 22:08

Теги

Похожие вопросы