I have several personal PHP projects on shared hosting; Here are a few thoughts from what I'm doing on one of them (the one that is the most active, and it needs at least a semi-automatic way to synchronize):
A few words about my setup:
- SVN; bazaar; (, , )
- ssh ,
- Linux ( )
, :
- , ( , ,...), SVN/bazarr/whatever
- , Apache/PHP/MySQL ( , )
- , ; , 2/3 , .
:
- PHP , SVN- " , " HEAD
- , PHP script Perl script, ^^
- script /
- FTP-.
- ( script, , ); , (, script, ^^)
:
- script, .
- script
- ssh- , rsync , / .
, :
- : .
- , , , :
- "svn update" ,
- , rsync ( "" , , )
- , , , , ; ( ) .
, " Linux", rsync; , -, rsync, windows: http://www.itefix.no/i2/node/10650
.
sidenote, rsync:
rsync --checksum \
--ignore-times \
--human-readable \
--progress \
--itemize-changes \
--archive \
--recursive \
--update \
--verbose \
--executability \
--delay-updates \
--compress --skip-compress=gz/zip/z/rpm/deb/iso/bz2/t[gb]z/7z/mp[34]/mov/avi/ogg/jpg/jpeg/png/gif \
--exclude-from=/SOME_LOCAL_PATH/ignore-rsync.txt \
/LOCAL_PATH/ \
USER@HOST:/REMOTE_PATH/
private/public keys mecanism, rsync , .
, , "", , , "--dry-run"
ignore-rsync.txt , :
.svn
cache/cbfeed/*
cache/cbtpl/*
cache/dcstaticcache/*
cache/delicious.cache.html
cache/versions/*
- , .
( ".svn" ... , SVN ^^)
, ...