dil: (Default)
dil ([personal profile] dil) wrote2017-08-18 05:53 pm

Задачка для сисадминов

Задачка по сути настолько элементарная, что я даже и ответ писать не буду, сами догадайтесь..
Но её как раз можно использовать для проверки квалификации сисадминов ;)

Условие:
Вы запустили в линуксе копирование большого объёма данных (скажем, с одного диска на другой) с помощью команды dd.
Чтобы данные на ходу не менялись, этот dd запустили в однопользовательском режиме, в котором у вас всего один терминал.
Данных много, поэтому dd копирует их довольно долго.

Вопрос:
Как посмотреть, сколько данных уже скопировалось, и с какой скоростью происходит копирование, чтоб можно было посчитать, сколько примерно времени ещё придётся подождать до конца?

Подсказка:
dd умеет выдавать текущее состояние — сколько блоков уже прочиталось, сколько записалось, какой у них общий объём, и какая выходит скорость копирования — если в него послать сигнал USR1.

Помнится, в древние времена во FreeBSD это можно было сделать, просто нажав Ctrl-T, но в нынешнем линуксе это не работает. Послать сигнал из другого терминала тоже нельзя, ибо терминал только один. Зайти в эту машинку по сети тоже невозможно, ибо однопользовательский режим, сеть не подключена.

Так как же послать этот сигнал, если единственный имеющийся терминал занят этим самым dd?

P.S. Я щас сам как раз это и делаю, копируя один большой диск на другой ;)

Оригинал этой записи в личном блоге.


Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting