Имеется резервное копирование папок и файлов с
Основного сервера на
Резервный.
На основном сервере
.sh файл, запускаемый по CRON'у выглядит так:
tar -zcvf $DIR/home.tar.gz --listed-incremental=$DIR/home_meta . --exclude-vcs --exclude="./backup" --exclude="./tmp" --exclude="./assets" --exclude=".htaccess"
cd $DIR
ftp -n $FTPS <<EOF
user $FTPU $FTPP
put home.tar.gz
quit
EOF
rm -f home.tar.gz
На
Резервном сервере .sh такой:
cd $DIR
tar -zxvpf home.tar.gz -C $HOME
rm -f home.tar.gz
Главная задача: поддерживать полностью работоспособную версию сайта на Резервном сервере и обновлять данные 1 раз в сути. Синхронизацию БД я здесь не описываю.
В принципе всё работает, кроме:
- Если на Основном сервере создается новая папка с каким-нибудь CHMOD-правами не по умолчанию, то при копировании её на Резервном сервере данная папка такие CHMOD настройки уже не получает, хотя флажок p в "tar -zxvpf" - у меня установлен, или это не то?
- Банальный наверное вопрос, но как сделать так чтобы tar -zxv распаковывал бы файлы и папки и у владельцем у них был бы определенный пользователь на резервном сервере? Изначально .sh файл должен запускаться этим пользователем или не обязательно?
- Иногда при создании архива на Основном сервере выпадают сообщения вида:
tar: .: Directory has been renamed
tar: ./crop: Directory has been renamed
tar: ./files: Directory has been renamed
Что за фигня? Ведь файл home_meta остается неизменным, сами директории и файлы на Основном сервере тоже не изменяются.
p.s.:
Может Вы решили подобную задачу как-то иначе - интересно было бы услышать...