Главная страница | Добавить в избранное    
   

 

» Статьи » Копирование данных с помощью rsync + ssh

   
main1
pix
 

Копирование данных с помощью rsync + ssh

Статьи  
pix pix pix

Очень часто бывает необходимо скопировать один или несколько файлов с одного сервера на другой. Использовать FTP-клиент для этого не всегда возможно(т.к. необходимо чтобы на машине получателе был запущен и настроен FTP-сервер). Можно скопировать файлы через SSH с помощью scp, благо, SSH-сервер практически на любой UNIX-системе устанавливается и запускается штатно, но возможности данной утилиты ограничены. Он не умеет делать докачку файлов, пропускать уже имеющиеся. Поэтому, для копирования файлов между серверами лучше всего использовать утилиту rsync.

Данная утилита умеет копировать файлы через ssh протокол, умеет отслеживать как изменился файл при копировании между источником и приёмником и копирует только изменившиеся данные. Кроме этого, rsync умеет сжимать данные при копировании, что позволяет экономить трафик. Rsync очень удобная утилита для синхронизации файлов между несколькими серверами. Утилита rsync должны находиться на обоих машинах и желательно, чтобы была доступна из путей «по-умолчанию»(в противном случае, можно использовать опцию, например, –rsync-path=/usr/local/bin/rsync чтобы указать, где rsync находится на удалённой машине).

Копирование данных выполняется следующей командой:

rsync –progress -avz -e ssh user@host:/path/on/server/ /directory/path/

при этом, ключ -a эквивалентен набору следующих ключей -rlptgoD

-r – означает рекурсивное копирование директорий

-l – копировать симлинки как симлинки

-p – сохранять права доступа к файлам()

-t – сохранять время (модификации) если поддерживается файловой системой

-g – сохранять группу владельца файла

-o – сохранять владельца файла

-D – (эквивалентна опциям –devices –specials), то есть – «–devices» указывает rsync’у копировать символьные и блочные файлы на другой сервер и попробовать их пересоздать там. Эта опция игнорируется, если rsync запущен не от пользователя root. «–specials» – эта опция указывает rsync’у копировать специальные файлы, такие как именованные каналы и сокеты.

-v – эта опция указывает команде rsync выдавать более подробную служебную информацию на старте.

-z – эта опция указывает использовать сжатие при передаче данных.

–progress - показывать ход выполнения копирования данных

-e ssh – указывает rsync использовать протокол ssh.


Чтобы проверить работу rsync, может оказаться полезной опция -n – она заставляет rsync показать какие файлы и каталоги будут скопированы, но на самом деле никакого копирования не производит.

Необходимо обратить внимание на слеш в конце исходного пути, т.к. если он указан, то будет производиться копирование содержимого каталога. Если он отсутсвует, то в этом случае, будет скопирован сам каталог вместе со всем своим содержимым.




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
 
Автор: hellevil | 1-04-2010, 12:07 | Просмотров: 13 316
 
pix
  Новости по теме    
pix pix pix
  • Репликация MySQL
  • Все об эмуляции Linux во FreeBSD
  • Создание программного RAID1 под FreeBSD c использованием gmirror
  • Обновление FreeBSD
  • Перекомпиляция/пересобирание ядра/kernel FreeBSD
  •  
     
     
    pix
     
    pix
    search
    navi
    poll
    calendar
    «    Март 2024    »
    ПнВтСрЧтПтСбВс
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
    main4
    pix pix pix

    2007 © www.DesktopBSD.ru
    Все права сохранены