Для использования Протокола сетевого времени на встроенной машине просто выполните некоторого легкого демона NTP (сервер) локально на LAN - например, на машине, которую Вы в настоящее время пытаетесь использовать для синхронизации. Большинство, если не все дистрибутивы имеют пакеты как openntpd или ntp, которые обеспечивают сервер NTP.
Если Вы все еще настаиваете на том, чтобы анализировать вывод date
, лучший способ состоит в том, чтобы использовать дженерик +%s
(секунды с 1970) формат и для вывода и для входа. Для этого в день исходное использование стороны date +%s
для получения строки даты и на busybox машине работать date -s "@$VALUE"
, где $VALUE
должен быть заменен значением, полученным от источника. Обратите внимание, что этот подход должен закончиться в результатах, скошенных из-за коммуникации, и управлять временем выполнения (которые оба минимизированы, когда Вы используете NTP).
Размонтируйте диск и работайте badblocks -n
на нем. Это перепишет каждый сектор на диске — read-then-write, таким образом, это будет неразрушающим — который вызывает диск загрузить новый сектор для каждого изворотливого, найденного во время передачи.
Если badblocks
не может зафиксировать его, Вы могли подойти к SpinRite, который делает это и т.д.
Если любые из тех "мер" диск, но Вы получаете больше ошибок данных позже, у Вас есть непрерывное продолжение неисправности и никакие, что фиксация будет постоянной.
Первая вещь, которую необходимо сделать, осуществляется УМНАЯ проверка.
smartctl-t длинный/dev/whatever
который скажет Вам, что это запускает длинный умный тест и примерно сколько времени это возьмет.
Затем выполненный smartctl-l/dev/whatever Это скажет Вам, сколько из теста было завершено и какие ошибки были замечены. Также, если диск будет неприменим, то он скажет Вам.