LinuxServer
Backup
Automating backups with Amazon S3 on Linux
Reference: http://shapeshed.com/journal/automating_backups_with_amazon_s3_on_linux/
- Install Ruby
yum install ruby
- Install s3sync
wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz tar xzf s3sync.tar.gz rm s3sync.tar.gz cd s3sync mkdir /etc/s3conf cp s3config.yml.example /etc/s3conf/s3config.yml
- Edit the file with the following content
vi /etc/s3conf/s3config.yml
aws_access_key_id: ------Your Access Key here ------ aws_secret_access_key: ---- Your Secret Access Key here ------ ssl_cert_dir: /home/your-user/s3sync/certs
- Make SSL certs
mkdir certs cd certs wget http://mirbsd.mirsolutions.de/cvs.cgi/~checkout~/src/etc/ssl.certs.shar sh ssl.certs.shar
- Make a folder to store backup file
cd .. mkdir s3backup cd /root/s3sync/s3backup mysqldump --opt -u root -puddiwsdl2011 ovhk_school | gzip -9 > ovhk_school$(date +_%Y%m%d).sql.gz cd .. ruby s3sync.rb -r ––ssl s3backup/ s3folder: cd s3backup rm -f * cd ..
- Make a script for automatic task
vi s3backup.sh
#!/bin/bash # directory structure: # ~/s3sync has scripts # ~/s3sync/s3backup is a folder for temp backup files NOW=$(date +_%Y%m%d) cd /root/s3sync/s3backup mysqldump --opt -u root -ppassword dbname | gzip -9 > dbname$NOW.sql.gz cd .. ruby s3sync.rb -r --ssl s3backup/ s3folder: cd s3backup rm -f *
sudo chmod +x s3backup.sh
sudo ./s3backup.sh
- Create a crontab job
crontab -e
- Add the following line
0 3 * * 0 /root/s3sync/s3backup.sh