Это совершенно неверно, $NF-1
напечатает значение последнего столбца, вычитаемое на единицу. Вам нужно сгруппировать команду внутри (..)
, так как NF
является переменной
gawk 'NF>=3{ print $(NF-2), $(NF-1), $NF}' file
Часть NF>=3
предназначена для безопасной проверки того, что вы печатаете последние 3 поля в строках, которые гарантированно содержат как минимум 3 поля.
Самый простой и быстрый способ, вероятно,
dd if=/dev/sda of=/dev/sda bs=256M
dd
считывается перед записью (, конечно, иначе ему нечего было бы записывать ), а положение устройства не зависит от источника и назначения.
Кроме того, это предполагает, что диск не отключается во время обновления.
Я бы провел тест скорости, используя тот же общий объем данных, но bs
равный одной трети , половине , ровно и вдвое размер кэша жесткого диска. В зависимости от стратегии распределения кэш-памяти контроллера жесткого диска время перезаписи может значительно различаться.
Так, например, при наличии кэш-памяти 256 МБ,
время дд... bs=80M count=1638 время дд... бс=128М количество=1024 время дд... бс=256М количество=512 время дд... бс=512M количество=256
Тем не менее, bs
не должен превышать объем данных одного полного физического цилиндра, в противном случае механика жесткого диска будет вынуждена пропустить одну дорожку для чтения данных за пределами первого цилиндра, а затем вернуться к записать те же данные. Вы легко распознаете ситуацию, потому что жесткий диск начнет стридулировать. Вы хотите, чтобы вместо этого он испускал определенное «тик. тик. тик.», Каждый цилиндр адресуется только один раз. Определение физического размера затруднено из-за отображения LBA,и это может быть даже невозможно на более новых жестких дисках из-за разных размеров цилиндров в разных зонах размещения (на разном расстоянии от шпинделя ). В таких случаях «обновление» диска создает значительную нагрузку на механику привода.
ZFS — это решение большинства реальных -мировых проблем с целостностью данных на -дисках. Он обнаружит и исправит битфлипы, а также любое количество других событий повреждения данных.
Он достаточно стабилен в Linux и отлично работает в версиях Solaris и BSD. Если вы еще не доверяете ему в Linux, внедрите его где-нибудь на файловом сервере и обслуживайте тома iSCSI, NFS или CIFS на серверах, которым нужны данные. ZFS на бэкенде будет держать все в порядке и в безопасности.