Сделайте копию своего каталога живого сайта, используйте rsync , чтобы обновить эту копию вашей последней версией, затем переименуйте действующие и обновленные каталоги, чтобы обновленная версия стала действующей.
В bash:
#!/bin/bash
set -e
cp -R /var/livesite /var/newversion
rsync user@devserver:/var/readytogolive /var/newversion
mv /var/livesite /var/oldlivesite
mv /var/newversion /var/livesite
Viola!
Редактировать: @ Тед Персиваль - Это хорошая идея. Я даже не знал о "set -e". Обновленный скрипт. Изменить: обновлено снова по предложению Теда (хотя я думаю, что это все равно будет работать, если каким-то образом команда cp не удалась, и если cp не удается, у вас, вероятно, есть более серьезные проблемы).