Скрипт Windows для часов вашего жесткого диска
Я хочу сделать скрипт, который проверяет часы работы HardDrive, чтобы предотвратить потерю информации. Есть способ сделать это? Я проверил в Интернете, но я не могу найти какую-либо пакетную команду. Спасибо за помощь!
(PS: извините за мой плохой английский.)
2 ответа
Как я могу проверить часы включения из командной строки?
Вы можете сделать это, используя DiskSmartView от Nirsoft в командном файле.
GetDisk PowerOnHours.cmd:
@echo off
setlocal enabledelayedexpansion
rem get report using disksmartview from nirsoft
disksmartview /scomma smart.txt
for /f "usebackq tokens=1,2 delims=," %%l in (`type smart.txt`) do (
if "%%l" EQU "Disk Number" (
echo %%l: %%m
)
if "%%l" EQU "Power-On Hours (POH)" (
echo %%l: %%m
)
)
endlocal
Пример вывода:
> GetDiskPowerOnHours
Disk Number: 0
Power-On Hours (POH): 13245
Disk Number: 1
Power-On Hours (POH): 0
Disk Number: 2
Заметки:
- Не все накопители хранят часы включения
- Сказав, что Power-On Hours не является полезным индикатором сбоя жесткого диска (см. Ниже)
Лучшее решение
Используйте программу мониторинга SMART, которая заранее предупредит вас о потенциальных проблемах.
Есть много доступных, в том числе:
HD Tune Pro - утилита для работы с жесткими дисками и твердотельными накопителями со многими функциями. Его можно использовать для измерения производительности диска, сканирования на наличие ошибок, проверки состояния работоспособности (SMART), безопасного удаления всех данных и многого другого.
HDD Health 4.2 с поддержкой SSD накопителей. HDD Health - это полнофункциональный агент для прогнозирования сбоев для машин, использующих 2000, XP, Vista, Windows 7 и Windows 8. Находясь в системном трее, он отслеживает жесткие диски и предупреждает о предстоящем сбое. Программа использует технологию самоконтроля и отчетности (SMART), встроенную во все новые жесткие диски, и может прогнозировать сбои на ваших жестких дисках. Множество функций оповещения включают электронную почту, локальные всплывающие сообщения, сетевые сообщения и ведение журнала событий без использования системных ресурсов.
HDDExpert дает вам кристально четкое представление о состоянии и производительности вашего жесткого диска (HDD или SSD) и переводит атрибуты SMART в удобочитаемую индикацию. Затем он рекомендует техническое обслуживание (обновление вентиляторов, запасные покупки, резервные копии и т. Д.) В зависимости от количества сбоев, обнаруженных на ваших жестких дисках.
Пакет smartmontools содержит две служебные программы (smartctl и smartd), предназначенные для управления и мониторинга систем хранения с использованием системы самоконтроля, анализа и отчетности (SMART), встроенной в большинство современных дисков ATA/SATA, SCSI/SAS и NVMe. Во многих случаях эти утилиты будут предупреждать о деградации диска и сбоях. Smartmontools изначально был создан на основе пакета smartsuite для Linux и фактически поддерживает диски ATA/ATAPI/SATA-3 до -8, а также диски SCSI и ленточные устройства. Он должен работать в любой современной системе Darwin (Mac OS X), Linux, FreeBSD, NetBSD, OpenBSD, Solaris, OS/2, Cygwin, QNX, eComStation или Windows.
Предсказание сбоя жесткого диска
Компания под названием Backblaze собрала данные о сбоях жесткого диска. Он опубликовал эти данные в блогах компании, подчеркивая, какие диски производителей вышли из строя чаще, чем другие.
В SMART Stats для жесткого диска были опубликованы данные, указывающие, какие именно 5 атрибутов SMART указывают на неизбежный сбой накопителя:
Исходя из опыта, мы обнаружили, что следующие 5 показателей SMART указывают на надвигающийся сбой жесткого диска:
- SMART 5 - Reallocated_Sector_Count.
- SMART 187 - Reported_Uncorrectable_Errors.
- SMART 188 - Command_Timeout.
- SMART 197 - Current_Pending_Sector_Count.
- SMART 198 - Offline_Неисправимо.
Мы выбрали эти 5 показателей на основе нашего опыта и вклада других специалистов в отрасли, потому что они одинаковы для разных производителей и являются хорошими предикторами неудач.
Статья продолжает предлагать:
SMART 5: Reallocated_Sector_Count
1-4 keep an eye on it, more than 4 replace
SMART 187: Reported_Uncorrect
1 or more replace
SMART 188: Command_Timeout
1-13 keep an eye on it, more than 13 replace
SMART 197: Current_Pending_Sector_Count
1 or more replace
SMART 198: Offline_Uncorrectable
1 or more replace
Также от BackBlaze стоит прочитать новый блог о том, что SMART Stats сообщает нам о жестких дисках.
DiskSmartView
DiskSmartView - это небольшая утилита, которая извлекает информацию SMART (SMART = технология самоконтроля, анализа и отчетности) с дисков IDE/SATA. Эта информация включает в себя модель диска / встроенное ПО / серийный номер, цилиндры / головки, часы включения (POH), внутреннюю температуру, частоту ошибок диска и многое другое. Вы можете использовать информацию SMART, полученную DiskSmartView, чтобы выяснить, есть ли какие-либо существенные проблемы на вашем диске.
Параметры командной строки
/stext <Filename>
Сохраните информацию SMART в обычный текстовый файл./stab <Filename>
Сохраните информацию SMART в текстовом файле с разделителями табуляции./scomma <Filename>
Сохраните информацию SMART в текстовый файл с разделителями-запятыми (CSV)./stabular <Filename>
Сохраните информацию SMART в виде текстового файла./shtml <Filename>
Сохраните информацию SMART в файл HTML (горизонтальный)./sverhtml <Filename>
Сохраните информацию SMART в файл HTML (вертикальный)./sxml <Filename>
Сохраните информацию SMART в файл XML.
Исходный DiskSmartView
отказ
Я никоим образом не связан с Nirsoft, я просто конечный пользователь их программного обеспечения.
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD
- Категоризованный список команд Windows CMD
- for / f - Циклическая команда против результатов другой команды.
- if - Условно выполнить команду.
Запустился в моей системе с ошибкой вывода:
C:\UTIL>Get-DiskPowerOnHours.cmd
Номер диска: 2
Часы включения (POH): «48
Рекомендую изменить разделитель на табуляцию, так как в моих выводах за более чем 48000 часов на моем загрузочном диске была добавлена запятая с тысячами.
@echo off
setlocal enabledelayedexpansion
rem get report using disksmartview from nirsoft
disksmartview /stab smart.txt
:: Ensure the delims= <tab> as it looks like a space.
for /f "usebackq tokens=1,2 delims= " %%l in (`type smart.txt`) do (
if "%%l" EQU "Disk Number" (
echo %%l: %%m
)
if "%%l" EQU "Power-On Hours (POH)" (
echo %%l: %%m
)
)
endlocal
После внесения вышеуказанного изменения:
C:\UTIL>Get-DiskPowerOnHours.cmd
Номер диска: 2
Часы включения (POH): 48649