Применение rsync для создания локальной копии сайта

Небольшой скриптик позволяющий сделать/обновить локальную копию удалённого каталога. Я успешно его используя для создания бэкапов этого сайта.

#!/bin/sh
 
if rsync -avzu --delete --exclude "data/cache/*/*" -e "ssh -p 1122" \
  user@your.host:~/public_html/* public_html
then
    tar cj --exclude "*/data/cache/*/*" -f iar_`date +%y%m%d-%H%M`.tar.bz2 public_html/
else
    echo "Can't rsyncing"
fi

Ключ rsync Описание
-u Только обновление. Не копирует файлы которые не изменялись с прошлой синхронизации.
-a Архивный режим. Синоним для ключей -rlptgoD.
-r Рекурсивный обход каталогов.
-l Копировать симлинки как симлинки.
-p Копировать так же права
-t Копировать так же время
-g, -o, -D Позволяют копировать группу, владельца, файлы устройств и потоков, но не окажывают действия при запуске от простого пользователя.
-v отображение хода синхронизации
-z упаковывать поток с помощью gzip
–delete Удалить из каталога назначения файлы отсутствующие в исходном каталоге.
–exclude path Исключить из синхронизации файлы и пути соответствующие маске.
-e cmd Команда используемая для создания транспортного канала. В данном случае нам понадобилось её указать, поскольку ssh использует нестандартный порт.

Ivan A-R 14.05.2007 14:06

Дискуссия

serhiy, 2007/05/16 05:58

Спасибо. Полезный скрипт. Сохранил в избранные. Сам делаю бэкапы с помощью keep. Ибо лень во всем разбираться. Может теперь с rsync разберусь или rdiff.

Ivan A-R, 2007/05/16 16:26

Стоило конечно расписать подробнее работу rsync. Но лениво =) Да и tarить надо с помощью инкрементальных алгоримов.

Надо будет ещё присмотреть автоматическую систему бэкапов... Что бы домашний серверок бэкапить...

Владимир, 2007/05/17 11:13

Пасиб :) А то я использовал совсем извращенный метод, find измененных файлов через ssh, с последующим их копированием к себе на комп :)

Enter your comment (wiki syntax is allowed):
Краткая справка
  • **полужирный**
  • //курсив//
  • > цитата
  • [[http://link | Заголовок ссылки]]
Больше о синтаксисе...
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
rsync.txt · Последние изменения: 2007/05/14 14:45 От plumbum