Назад | Перейти на главную страницу

запуск автоматизированного fsck на удаленном сервере

У меня был еще один вопрос о df, и теперь я пришел к выводу, что мне нужно запустить fsck для моего раздела, я читал об этом и хотел бы получить совет, если возможно.

Ситуация такая: нет физического доступа к серверу, и я хочу запустить fsck.

из того, что я прочитал, мне просто нужно touch /forcefsck и когда я перезагружусь, он запустит fsck.

В основе моего вопроса лежит вопрос, с какими аргументами будет работать fsck? Потребуется ли ввод пользователя для исправления ошибок и т. Д.?

и после запуска сохранится ли журнал того, что произошло?

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

fsck -v -p /machine/disk/p1 2>&1 > fscklog.txt

Также Вот они описывают это:

также хорошая идея для debian и производных от debian, таких как ubuntu, - отредактировать / etc / default / rcS на удаленных серверах и установить «FSCKFIX = yes», который добавляет «-y» к времени загрузки fsck, чтобы не подвергать риску удаленный сервер зависает в ожидании, пока кто-нибудь войдет в консоль и запустит fsck.

Но на Centos этого, похоже, не существует

На данный момент у меня есть только ssh-доступ, поэтому я так придирчив к нему.

Вот некоторая информация о дисках и подключенных томах на сервере: http://pastebin.centos.org/33314

Спасибо.

Итак, я узнал, что в CentOS вы можете сделать это:

touch /forcefsck
echo -n "-ys" > /fsckoptions

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

Отредактировал /etc/rc.sysinit (не забудьте сделать резервную копию), чтобы получить желаемое поведение:

из строки 500 (изменение -C на -V избавляет от индикаторов выполнения)

if [ "$BOOTUP" = "color" ]; then
       fsckoptions="-C $fsckoptions"
else
       fsckoption="-V $fsckoptions"

из строки 648 изменил блок, который запускал fsck, чтобы он выглядел так:

outputtt="$(fsck -T -t noopts=_netdev -A $fsckoptions)"
mount -n -o remount,rw /
echo $outputtt > /var/log/fsckoutput
mount -n -o remount,ro /

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

Вы устанавливаете настройки «autofsck» в CentOS / Redhat иначе, чем в других дистрибутивах. Вам следует отредактировать / etc / sysconfig / autofsck с настройками, которые вы хотите, как описано в этом сообщении списка рассылки: http://lists.centos.org/pipermail/centos/2006-November/029837.html