Открытый System->Administration->Disk Utility
, выберите свой жесткий диск из списка слева и затем нажмите SMART Data
справа. Вы получите отчет о своем состоянии диска и ошибках.
Можно продолжить путем нажатия Run Self-test
кнопка и запускается Extensive
самопроверка. Ожидайте, пока это не закончено, и прочитайте итоговый отчет. Выполнение badblocks
или e2fsck -c
(от Вашего живого спасательного диска) в Ваших файловых системах отметит поврежденные кластеры, таким образом, они не будут использоваться ОС. Но если ошибочные счетчики продолжают повышаться ко времени, Ваш диск нуждается в замене как можно скорее. У Вас должно уже быть резервное копирование.
К сожалению, текущие недорогие диски так надежны, как гибкие диски были десятилетие назад. Хотя, будучи недорогим делает raid1 (зеркало) значительная опция для настольных систем также.
Править
Я думал, что Дисковая утилита была установлена по умолчанию в Ubuntu. Имя пакета gnome-disk-utility
, таким образом, один способ установить его sudo apt-get install gnome-disk-utility
. Получите ту же функциональность в командной строке с smartctl
от smartmontools
пакет.
EDIT2
Я забыл, что была ошибка с gnome-disk-utility
создание отчетов о ложных предупреждениях. Я не знаю, фиксируется ли это уже, я никогда не испытывал его сам. Больше информации имея дело с дисковыми проблемами здесь.
Для сейфа необходимо посмотреть на сгенерированный, если код может быть введен.
В этой команде mysql -B -ss -uuser -ppassword -e "USE table; SELECT column FROM table WHERE pid='$i';"
, Вы знаете, что я - число между 1 и 5, таким образом, оно в порядке.
Но в той команде mysql -B -ss -uuser -ppassword -e "USE table; UPDATE table SET column = '${line:6}' WHERE pid = '$i';"
, Вы не можете быть уверены в $ {line:6}; можно предположить, что это содержит одинарную кавычку, в этом случае необходимо заменить двумя одинарными кавычками, можно также проверить, что длина является меньше, чем длина столбца в базе данных (давайте предположим здесь 255), или усеките данные, прежде, чем заменить кавычки.
#!/bin/bash
for (( i=1; i <= 5; i++))
do
DBQUERY=`mysql -B -ss -uuser -ppassword -e "USE table; SELECT column FROM table WHERE pid='$i';"`
if [[ $DBQUERY == *.pls ]] ;
then
wget -O tempfile.pls $DBQUERY
while read line
do
if [[ $line == File1=* ]] ;
then
str=${line:6:255}
str=${str//\'/''}
mysql -B -ss -uuser -ppassword -e "USE table; UPDATE table SET column = '$str' WHERE pid = '$i';"
fi
done <tempfile.pls
fi
done