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

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

#!/bin/sh

if rsync -avzu --delete --exclude "data/cache/*/*" -e "ssh -p 1122" <br/>
  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 использует нестандартный порт.
 
comments powered by Disqus