Яндекс.Метрика
Показаны сообщения с ярлыком unix. Показать все сообщения
Показаны сообщения с ярлыком unix. Показать все сообщения

вторник, 25 октября 2011 г.

Проблемы с сетью

Сегодня мне позвонили и сказали, что на каф. не работает инет и не раздаются ip-адреса.

Вообще обычно у меня начинается паника от того, что я не знаю, что произошло в ночь со вчера на сегодня с сетью (вчера все работало,  утром сегодня перестало). Перезагрузка всего на свете не помогла (dhcpd, mpd, chinua). Потом заметила, что ping какого-нибудь внутреннего ip выдает следующее:

ping: sendto: No buffer space available

Перерыла гугл, все советы не помогали, да и версия «нагруженного» сервера как-то не соответствовала действительности.

Итак, решение: выткнуть все провода из коммутатора, втыкать по одному и пинговать компы. После очередного «втыка» ping выдавал как-раз No buffer space available. И вот что странно: до того, как проблема найдена, все клянутся, что ничего вчера вечером не меняли, а вот после — начинают припоминать.

Стоит отметить, что опять же до обнаружения пробемы чувствуешь себя тупицей, и как мир несовершенен, а после — молодцом что в таком несовершенстве смогла найти решение.

P. S. Итак, ping: sendto: No buffer space available может значить то, что ходит дофига пакетов по сети, а также, что где-то что-то неправильно подсоединено, подозреваю, что даже возможна закольцовка сети.

пятница, 8 июля 2011 г.

Копирование директорий на удалённый сервер используя tar, ssh, cat или dd

Как заархивировать и скопировать на сервер папку с другого сервера (заархивировать папку с удаленного компа).

Оригинал здесь.

1. Архивирование директории на удалённый сервер.
С использованием cat:
tar zcvfp - /home/user/sourcedir | ssh user@remote_host "cat > ~/from_somehost.tar.gz"


tar — архивирует, и с ключом z сжимает:
z — сжать, c — создать, v — выводить на экран, что архивирует, p — не менять права на файлы, f — в какой файл запихнуть архив, если указан прочерк -, то выводить на стандартный вывод. Далее идет имя каталога, который нужно заархивировать.

То, что tar выведет на стандартный вывод, перенаправляется на удаленный сервер (user@remote_host), где и запускается команда "cat > ~/from_somehost.tar.gz". Cat принимает на вход то, что выдал tar, а затем все это складывает в файл /from_somehost.tar.gz.


С использованием dd:
tar zcvfp - /home/user/sourcedir | ssh user@remote_host "dd of=~/from_somehost.tar.gz"


В этом примере вместо cat используется dd (disk destroy ;), у которой есть параметр of (output file), то есть тот, куда нужно складывать то, что пришло от tar.

Остальное по аналогии должно быть понятно.


2. Архивирование с удалённой машины на локальную:
С использованием cat:
ssh user@remote_host "tar zcvfp - /home/user/sourcedir" | cat > ~/from_somehost.tar.gz
С использованием dd:
ssh user@remote_host "tar zcvfp - /home/user/sourcedir" | dd of=~/from_somehost.tar.gz


3. Ну и напоследок - распаковка удалённого архива на локальную машину.
ssh user@remote_host "cat /home/user/from_somehost.tar.gz" |tar xvfp -