<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,19 +1,21 @@
 development:
   # The app_name is used as the backup filename prefix
   app_name: replace_me
-  # You must create the s3_bucket specified below via an external tool like S3 Browser, etc
-  s3_bucket: some-s3-bucket
-  aws_access_key_id: --replace me with your AWS access key id--
-  aws_secret_access_key: --replace me with your AWS secret access key--
+  ftp_server: --replace me with your ftp server host or ip--
+  username: --replace me with your ftp username--
+  password: --replace me with your ftp password--
+  remote_path: --replace me with the initial path on ftp server--
 
 staging:
   app_name: replace_me
-  s3_bucket: some-s3-bucket
-  aws_access_key_id: --replace me with your AWS access key id--
-  aws_secret_access_key: --replace me with your AWS secret access key--
+  ftp_server: --replace me with your ftp server host or ip--
+  username: --replace me with your ftp username--
+  password: --replace me with your ftp password--
+  remote_path: --replace me with the initial path on ftp server--
 
 production:
   app_name: replace_me
-  s3_bucket: some-s3-bucket
-  aws_access_key_id: --replace me with your AWS access key id--
-  aws_secret_access_key: --replace me with your AWS secret access key--
\ No newline at end of file
+  ftp_server: --replace me with your ftp server host or ip--
+  username: --replace me with your ftp username--
+  password: --replace me with your ftp password--
+  remote_path: --replace me with the initial path on ftp server--
\ No newline at end of file</diff>
      <filename>config/backup_fu.yml.example</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,9 @@
 require 'yaml'
 require 'active_support'
-require 'aws/s3'
+require 'net/ftp'
 
 class BackupFuConfigError &lt; StandardError; end
-class S3ConnectError &lt; StandardError; end
+class FtpConnectError &lt; StandardError; end
 
 class BackupFu
   
@@ -60,13 +60,12 @@ class BackupFu
   
   def backup
     dump
-    establish_s3_connection
+    establish_ftp_connection
     
     file = final_db_dump_path()
-    puts &quot;\nBacking up to S3: #{file}\n&quot; if @verbose
-    
-    AWS::S3::S3Object.store(File.basename(file), open(file), @fu_conf[:s3_bucket], :access =&gt; :private)
+    puts &quot;\nBacking up to FTP server: #{file}\n&quot; if @verbose
     
+    @ftp.put file
   end
   
   ## Static-file Dump/Backup methods
@@ -107,13 +106,12 @@ class BackupFu
   
   def backup_static
     dump_static
-    establish_s3_connection
+    establish_ftp_connection
     
     file = final_static_dump_path()
-    puts &quot;\nBacking up Static files to S3: #{file}\n&quot; if @verbose
-    
-    AWS::S3::S3Object.store(File.basename(file), open(file), @fu_conf[:s3_bucket], :access =&gt; :private)
+    puts &quot;\nBacking up Static files to FTP server: #{file}\n&quot; if @verbose
     
+    @ftp.put file
   end
   
   def cleanup
@@ -136,29 +134,31 @@ class BackupFu
   
   private
   
-  def establish_s3_connection
-    unless AWS::S3::Base.connected?
-      AWS::S3::Base.establish_connection!(
-        :access_key_id =&gt; @fu_conf[:aws_access_key_id],
-        :secret_access_key =&gt; @fu_conf[:aws_secret_access_key]
-      )
+  def establish_ftp_connection
+    unless @ftp &amp;&amp; !@ftp.closed?
+      @ftp = Net::FTP.new(@fu_conf[:ftp_server])
+      begin
+        @ftp.login(@fu_conf[:username], @fu_conf[:password])       
+        @ftp.chdir @fu_conf[:remote_path]
+      rescue Net::FTPPermError =&gt; e
+        raise FTPConnectError, &quot;\nERROR: Connection to FTP server failed.&quot;
+      end
     end
-    raise S3ConnectError, &quot;\nERROR: Connection to Amazon S3 failed.&quot; unless AWS::S3::Base.connected?
   end
   
   def check_conf
     if @fu_conf[:app_name] == 'replace_me'
       raise BackupFuConfigError, 'Application name (app_name) key not set in config/backup_fu.yml.'
-    elsif @fu_conf[:s3_bucket] == 'some-s3-bucket'
-      raise BackupFuConfigError, 'S3 bucket (s3_bucket) not set in config/backup_fu.yml.  This bucket must be created using an external S3 tool like S3 Browser for OS X, or JetS3t (Java-based, cross-platform).'
-    else
-      # Check for access keys set as environment variables:
-      if ENV.keys.include?('AMAZON_ACCESS_KEY_ID') &amp;&amp; ENV.keys.include?('AMAZON_SECRET_ACCESS_KEY')
-        @fu_conf[:aws_access_key_id] = ENV['AMAZON_ACCESS_KEY_ID']
-        @fu_conf[:aws_secret_access_key] = ENV['AMAZON_SECRET_ACCESS_KEY']
-      elsif @fu_conf[:aws_access_key_id].include?('--replace me') || @fu_conf[:aws_secret_access_key].include?('--replace me')
-        raise BackupFuConfigError, 'AWS Access Key Id or AWS Secret Key not set in config/backup_fu.yml.'
-      end
+    # elsif @fu_conf[:s3_bucket] == 'some-s3-bucket'
+    #   raise BackupFuConfigError, 'S3 bucket (s3_bucket) not set in config/backup_fu.yml.  This bucket must be created using an external S3 tool like S3 Browser for OS X, or JetS3t (Java-based, cross-platform).'
+    # else
+    #   # Check for access keys set as environment variables:
+    #   if ENV.keys.include?('AMAZON_ACCESS_KEY_ID') &amp;&amp; ENV.keys.include?('AMAZON_SECRET_ACCESS_KEY')
+    #     @fu_conf[:aws_access_key_id] = ENV['AMAZON_ACCESS_KEY_ID']
+    #     @fu_conf[:aws_secret_access_key] = ENV['AMAZON_SECRET_ACCESS_KEY']
+    #   elsif @fu_conf[:aws_access_key_id].include?('--replace me') || @fu_conf[:aws_secret_access_key].include?('--replace me')
+    #     raise BackupFuConfigError, 'AWS Access Key Id or AWS Secret Key not set in config/backup_fu.yml.'
+    #   end
     end
   end
   </diff>
      <filename>lib/backup_fu.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>aa8ee0ca9ccf1127834605b045f59ae074469d77</id>
    </parent>
  </parents>
  <author>
    <name>ashchan</name>
    <email>ashchan@gmail.com</email>
  </author>
  <url>http://github.com/ashchan/backup_fu/commit/aad9ff25cee43fde3b2e0fffc9e8b4e10667fe72</url>
  <id>aad9ff25cee43fde3b2e0fffc9e8b4e10667fe72</id>
  <committed-date>2009-01-29T08:06:23-08:00</committed-date>
  <authored-date>2009-01-29T08:06:23-08:00</authored-date>
  <message>use FTP to keep backup archives</message>
  <tree>bc53fe1f86caeef813feb96bf3c1365f8fd62e52</tree>
  <committer>
    <name>ashchan</name>
    <email>ashchan@gmail.com</email>
  </committer>
</commit>
