|
RSYNC - первая помощь в восстановлении проблемных дистрибутивов
Rsync — это программа, которая выполняет синхронизацию файлов и каталогов с минимизированием трафика. Это означает, что если у нас уже есть старая версия файла, то нет необходимости качать весь файл заново, а достаточно скачать только различающиеся части этого файла.
Из минусов, можно отметить, что данная статья применима только для UNIX-систем. И, хотя существует портированная версия под Windows, я не знаю живых примеров использования там. Второй минус - это необходимость наличия серверной части на машине источнике.
Для чего же можно использовать данную утилиту ?
Например, исправление “битых” дитрибутивов. Если после скачивания iso-образа свежей версии вашего любимого дистрибутива, оказалось что хэш md5 не сходиться, то вовсе не стоит огорчаться и ругать авторов download-менеджера, потому как 99,9% серверов с UNIX-дистрибутивами поддерживают протокол RSYNC. Это же и касается проблемных дисков с дистрибутивами, которые вы скопировали у друзей, купили в ларьке или заказали в интернет-магазинах.
Rsync - это реальный выход из таких ситуаций.
Независимо от того какой дистрибутив Linux у вас установлен, скорее всего утилита rsync уже присутствует в вашей системе. Проверить это можно выполнив в терминале команду rsync, если же у вас вдруг вместо описания опций выводится что-то вроде “bash: rsync: команда не найдена”, не беда - установить его можно не покидая окна терминала - для Ubuntu - apt-get install rsync, для Fedora - yum install rsync.
Ну или с помощью “Установки/удаления программ”, или другого вашего любимого менеджера пакетов :).
После того, как мы убедились, что программа у нас установлена, можно приступать. Как вы уже могли догадаться ни о каком графическом интерфейсе речи не идет, работать прийдется из коммандной строки.
Общий вид строки запуска - rsync [опции] <URL> [локальный файл или папка].
URL - может быть вида rsync://server.name/path/to/file
или server.name::path/to/file,
либо rsync://server.name/path/to/dir/
или server.name::path/to/dir/
Я обычно пользуюсь первым видом.
Если не указывать никаких опций и локальный файл/папку, то rsync выведет список содержимого на удаленной машине, в таком же виде как это делает команда ls -l .
Теперь, что касается опций, вот здесь, в разделе “Синхронизация файлов на удаленных хостах (rsync)” есть достаточно хорошее описание, я же остановлюсь только на тех нескольких, которые там не описаны, но вполне могут быть вам полезны:
-z - сжимать передаваемые данные (дополнительная экономия трафика с применением gzip)
–progress - показывать индикацию процесса обработки файла.
–partial - не удалять локальный файл перед синхронизацией
-P - тоже что и –partial вместе с –progress
-h - показывать размеры переданных/обработанных данных в удобном виде (вместо байт), например 234K или 1,35G
–stats - выводить статистику - показывает сколько было принято/передано, сколько удалось сэкономить и т.п.
Итак, для того чтобы синхронизировать битый образ необходимо:
1) Найти rsync-сервер. Для этого лучше всего пойти на сайт производителя и в разделе скачать/получить (download/get) найти список зеркал с которых можно скачать данный дистрибутив. Могу порекомендовать отличное быстрое российское зеркало, которое подойдет для большинства - mirror.yandex.ru, поддерживает протоколы http, ftp, rsync. Данное зеркало является официальным для таких дистрибутивов как - ALT, Arch, ASP, CentOS, Debian, Fedora, Kernel.org, LinuxXP, Mandriva, openSUSE, Runtu, Slackware, Ubuntu и др.
2) определить полный URL файла - например:
$ rsync rsync://mirror.yandex.ru/fedora/linux/releases/8/Fedora/i386/iso/Fedora-8-i386-DVD.iso
3) выполнить команду:
$ rsync -avzhP –stats rsync://mirror.yandex.ru/fedora/linux/releases/8/Fedora/i386/iso/Fedora-8-i386-DVD.iso /home/login/path/to/file/Fedora-8-i386-DVD.iso
Другим примером использования может быть резервное копирования дорогих для вас папок. Вот здесь www.lissyara.su/articles/freebsd/programms/rsync/ приведен пример организации резервного копирования настроек сервера работающего под FreeBSD.
Статья с сайта whylinux.ru - информационный проект с открытым исходным кодом
|