Как проверить наличие диска в Debian Linux - PullRequest
1 голос
/ 07 июня 2011

У меня есть сервер Debian Linux с двумя подключенными дисками eSATA (NTFS, bleh).В настоящее время они хорошо смонтированы и имеют правильную настройку записей fstab (используя UUID, а не / dev).

Я пришел к выводу, что мне нужно добавить опции монтирования noauto, чтобы онимонтируется при загрузке сервера (чтобы сервер не зависал, когда их нет. Я планирую брать их на случайную экскурсию).

Однако как мне настроить скрипт инициализации, чтобы монтировать их один раз?система загрузилась?Я мог бы сделать mount /mount/location, но я бы предпочел проверить их существование перед тем, как сделать это (чтобы не выдать ошибку).Кроме того, мне просто нужно выбросить этот скрипт в каталог /etc/init.d/, чтобы он работал?(Я довольно новичок в Debian)

Ответы [ 2 ]

1 голос
/ 07 июня 2011

blkid показывает список блочных устройств.

0 голосов
/ 07 июня 2011

Спасибо за информацию.AutoFS и Udev - это то, что нужно исследовать, чтобы найти решение моей проблемы.

Кроме того, команда blkid правильно отображает список блочных устройств, даже если они не смонтированы.Экстраполируя это, вот (склонный к ошибкам) ​​элементарный скрипт для обработки монтируемых блочных устройств, который не использует AutoFS и Udev (просто временное решение):

#!/usr/bin/env php
<?php
define('DRIVE1',    '7E088E5B088E11F7');
define('DRIVE2',    '4A841A75841A63AB');
$devices = `/sbin/blkid`;

if (strpos($devices, DRIVE1) !== FALSE) {
    $output = `mount /storage/drive1`;
    $output = trim($output);
    echo "Mounting /storage/drive1... $output\n";
} else {
    echo "Not Mounting: /storage/drive1\n";
}
if (strpos($devices, DRIVE2) !== FALSE) {
    $output = `mount /storage/drive2`;
    $output = trim($output);
    echo "Mounting /storage/drive2... $output\n";
} else {
    echo "Not Mounting: /storage/drive2\n";
}
...