Применение 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