Showing posts with label rsync. Show all posts
Showing posts with label rsync. Show all posts

Thursday, November 22, 2007

Effordless synchronization via SSH

Setup SSH to authenticate via certificate

Generate key
ssh-keygen -t dsa

Copy public key to remote server
scp ~/.ssh/id_dsa.pub $REMOTE_HOST:.ssh/authorized_keys2

or if you already have keys in your key chain on the remote server
cat ~/.ssh/id_dsa.pub | ssh $REMOTE_HOST 'sh -c "cat - >>~/.ssh/authorized_keys2"'

Copy Files

Using rsync to copy files
rsync --archive --compress --itemize-changes --progress --exclude=.svn  $PATH $REMOTE_HOST:$PATH

Backing up databases

Using mysqldump to get schema and data
mysqldump --compact --compress --add-drop-table --delayed-insert --extended-insert --quick --quote-names --create-options --no-create-db --no-create-info --database $DB > /tmp/$DB.dump
scp /tmp/$DB.dump $RHOST:/tmp/$DB.dump
ssh $REMOTE_HOST "mysql -u root -p$PASSWORD < /tmp/$DB.dump"
rm /tmp/$DB.dump
ssh $REMOTE_HOST "rm /tmp/$DB.dump"

or (if allowed)
mysqldump --compact --compress --add-drop-table --delayed-insert --extended-insert --quick --quote-names --create-options --no-create-db --no-create-info --database $DB > mysql -u root -p$PASSWORD -h $REMOTE_HOST