Устаревший дескриптор файла после перезагрузки сервера

\n не могут быть удалены таким образом классическим (POSIX )sed, они являются разделителями строк и не являются частью строки, подлежащей замене s///. Они должны быть удалены trвпоследствии :

.
sed -e 's/Connected\.//g' | tr -d ' \r\n'

(поскольку мы используем tr, мы делаем так, чтобы он удалял все интересующие символы)

Однако вы можете использовать одну инструкцию s///с GNU sed, которая может работать сразу со всем файлом с опцией -z(, что не очень хорошая идея для больших файлов):

sed -z -r -e 's/Connected\.|\n|\r| //g'
1
24.09.2019, 07:25
1 ответ

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

Одним из хороших решений является использование systemd для создания зависимости между NFS и файловой системой. Есть несколько способов сделать это, но, пожалуй, самый простой:

  1. Открыть /etc/fstabи
  2. Добавить параметр x-systemd.before=nfs-server.serviceв параметры монтирования файловой системы

После завершения nfs -server.service будет запущен только после монтирования файловой системы и, следовательно, будет успешно экспортирован.

2
27.01.2020, 23:30

Теги

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