Один из способов добиться этого — 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
Семейство расширяемых файловых систем (ext )обеспечивает однократное обновление (ext2 до ext3 и ext3 до ext4 ); но это возможно только потому, что файловая система была специально разработана для этого. Могут быть и другие семейства файловых систем, разработанные с аналогичной функцией. В случае обновления файловой системы внутри семейства риск сбоя относительно низок. В любом случае было бы разумно сделать резервную копию данных перед обновлением файловой системы на случай, если что-то пойдет не так.
Создан инструмент для преобразования между некоторыми типами файловых систем в Linux. Теоретически fstransform может работать с любой файловой системой Linux, поддерживающей разреженные файлы (поддерживаются как ext4, так и XFS ). Требуется некоторое свободное пространство (Для преобразования в XFS рекомендуется более 10% свободного места ), и для преобразования файловая система должна быть переведена в автономный режим.
robartsd прав на 101%, когда советует делать резервную копию ваших данных; Я думаю, что перед переходом с ext4 на XFS требуется несколько резервных копий, каждая из которых проверена. Да, это 288 ТБ, но только вы знаете, что будет, если вы потеряете свои данные.
Одно из предложений состоит в том, чтобы запустить mkfs.xfs /dev/xvdf1 -f
, пакет, который почти наверняка уже установлен в вашем RHEL, после просмотра источника предложения . Другой использует fstransformmoreи more , который устанавливается исходным кодомsudo dnf install fstransform
().