Media Temple backups naar Amazon S3 met S3Sync
by mbakkenes. Average Reading Time: about 3 minutes.
Als je je site(s) host bij Media Temple Grid Service zal je zien dat er standaard geen backup wordt gemaakt van je site content en databases. Onhandig, helemaal wanneer je per ongeluk “rm -Rf *” in de /domains directory doet. Je kan natuurlijk op je lokale schijf om de zoveel tijd via SFTP de site contents downloaden, maar het kan natuurlijk veel makkelijker en betrouwbaarder: een automatische backup naar de betrouwbare Amazon S3 storage lokatie!
Voordat we in de details springen: De tutorial gaat er vanuit dat je Media Temple hosting gebruikt, maar het kan wellicht ook met andere hosters. Media Temple ondersteund standaard Ruby, wat een vereiste is voor een vand e tools die gebruikt wordt. Amazon S3 storage kost je 0.15 cent per GB per maand + upload en download fees. Er is geen verplichte afname van het aantal GBs. Kudos voor Christina Warren en haar blogpost die de basis vormt voor deze Nederlandse vertaling en kudos voor Brett Wilcox, ontwikkelaar van het Zipline backup script.
Installeren S3sync
S3sync is een op Ruby gebaseerde toolset die de interface vormt naar Amazon S3. Media Temple ondersteund standaard Ruby scripts en apps, wellicht dat je bij een andere hoster dit als add-on kan (laten) installeren.
Log in met SSH op je GS account en ga naar de data directory
cd data
Download de S3sync tarball, extract (en wordt een nieuwe directory aangemaakt) en verwijder de tarball file
wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
tar xvzf s3sync.tar.gz
rm s3sync.tar.gz
In de nieuwe s3sync directory moeten nu certificaten in een aparte directory gedonwload worden
cd s3sync
mkdir certs
cd certs
wget http://mirbsd.mirsolutions.de/cvs.cgi/~checkout~/src/etc/ssl.certs.shar
sh ssl.certs.shar
cd ..
Maak 2 directories aan in de data directory, 1 voor de website files backup, een tweede voor de mysql database backup
mkdir site_backups
mkdir database_backups
In de data directory heb je dus nu een s3sync directory, database_backups directory, site_backups directory, tmp directory en misschien nog een aantal anderen (zoals temp/).
in de s3sync directory moeten nu een tweetal files worden aangepast.
cd s3sync
cp s3config.yml.sample s3config.yml
pico s3config.yml
De s3config.yml file is nu open. Vul hier je S3 access key, S3 secret access key en ssl cert. directory. Dat laatste is als het goed is nu: /home/XXXXXX/users/.home/data/s3sync/certs
Sla de file op (ctr-X in pico).
Open nu (in de s3sync directory) de file s3config.rb
pico s3config.rb
Zorg dat de “confpath=” regel er uit ziet zoals deze:
confpath = ["./", "#{ENV['S3CONF']}", "#{ENV['HOME']}/.s3conf", "/etc/s3conf"]
Voor zover de installatie van s3sync! Het enige wat nu nog rest is het backup script. Als je een die-hard coder bent wil je dit waarschijnlijk zelf doen. Als je lui bent en liever gebruikt wat al bestaat, dan kan je de volgende twee script gebruiken:
Zipline backup – het script dat de site contents compressed in een tarball en naar S3 upload
Automysqlbackup – het script dat een dump maakt van je MySQL databases
De laatste versies zijn hier te downloaden.
De scripts moeten aangepast worden met je eigen Media Temple logins en paden (en natuurlijk de namen van sites die je een backup wil geven). Ik heb zelf een kleine aanpassing gedaan door de twee scripts te hernoemen naar respectievelijk ‘backup_server.sh’ en ‘backup_database.sh’.
Last but not least, als de scripts succesvol getest zijn kan je in de Media Temple control panel de cronjobs aanmaken voor beide scripts. Ik heb de backup_database.sh een half uur eerder laten starten dan de backup_server.sh, aangezien in de backup_server.sh ook de transfer van databases naar S3 gebeurd. Beide scripts draaien dagelijks.
Mocht je vragen hebben, dump maar in de comments!

No comments on ‘Media Temple backups naar Amazon S3 met S3Sync’
Leave a Reply