#!/usr/bin/env ruby
require 'rubygems'
require 'aws/s3'
require 'fileutils'

AWS::S3::Base.establish_connection!(
  :access_key_id => ENV['AMAZON_ACCESS_KEY_ID'],
  :secret_access_key => ENV['AMAZON_SECRET_ACCESS_KEY']
)

# List our buckets
#puts AWS::S3::Service.buckets

# Tar and gzip the files we require
# May be easier to exec the commands

# Execute a system call

backupdir='/tmp/rbackup/websites'

if !File::exists?(backupdir)
	puts 'Backup directory does not exist, creating: ' + backupdir
	Dir::mkdir(backupdir)
else
	#TODO: Find a way to incrementally backup the tar files
	puts 'Backup directory exists, overwriting'
	FileUtils.rm_rf backupdir
	Dir::mkdir(backupdir)
end

# Backup each directory under a location
dir='/var/www/'

Dir.foreach(dir) do |entry|
    entrypath = dir + entry
	isdir = File::directory?(entrypath)
	if isdir
		if !entry.match('^\.')
			puts "Backing up directory: " + entry
			backupfile = backupdir + '/' + entry + '.tar.gz'
			tarcommand = `tar zcfP #{backupfile} #{entrypath}`
		end
	end
end

