Class: S3snapshot::CLI
- Inherits:
-
Thor
- Object
- Thor
- S3snapshot::CLI
- Defined in:
- lib/s3snapshot/cli.rb
Instance Method Summary collapse
-
#backup ⇒ Object
Uploads the directory to the s3 bucket with a prefix.
- #clean ⇒ Object
- #prefixes ⇒ Object
- #restore ⇒ Object
- #restorelatest ⇒ Object
- #roll ⇒ Object
- #snapshots ⇒ Object
Instance Method Details
#backup ⇒ Object
Uploads the directory to the s3 bucket with a prefix
20 21 22 23 24 25 26 |
# File 'lib/s3snapshot/cli.rb', line 20 def backup directory = [:directory] puts "You are uploading directory #{directory}" s3upload = DirUpload.new([:awsid], [:awskey], [:bucket], [:prefix], directory ) s3upload.upload end |
#clean ⇒ Object
126 127 128 129 130 131 |
# File 'lib/s3snapshot/cli.rb', line 126 def clean manager = BackupManager.new([:awsid], [:awskey], [:bucket]) manager.clean([:prefix]) end |
#prefixes ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/s3snapshot/cli.rb', line 77 def prefixes manager = BackupManager.new([:awsid], [:awskey], [:bucket]) puts "Found the following prefixes\n\n" manager.prefixes.each do |prefix| puts prefix[0..-2] end puts "\n" end |
#restore ⇒ Object
39 40 41 42 43 |
# File 'lib/s3snapshot/cli.rb', line 39 def restore time = Time.parse([:time]) download = DirDownload.new([:awsid], [:awskey], [:bucket], [:prefix], time, [:dest]) download.download end |
#restorelatest ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/s3snapshot/cli.rb', line 56 def restorelatest manager = BackupManager.new([:awsid], [:awskey], [:bucket]) latest_complete = manager.latest([:prefix]) if latest_complete.nil? puts "Cannot find a complete snapshot with prefix #{[:prefix]}" exit 1 end download = DirDownload.new([:awsid], [:awskey], [:bucket], [:prefix], latest_complete, [:dest]) download.download end |
#roll ⇒ Object
146 147 148 149 150 151 |
# File 'lib/s3snapshot/cli.rb', line 146 def roll manager = BackupManager.new([:awsid], [:awskey], [:bucket]) manager.roll([:prefix], [:numdays], [:numweeks], [:dayofweek]) end |
#snapshots ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/s3snapshot/cli.rb', line 99 def snapshots manager = BackupManager.new([:awsid], [:awskey], [:bucket]) snap_map = manager.snapshots([:prefix]) puts "Found the following timestamps from prefix #{[:prefix]}\n\n" snap_map.each do |key, value| result = value ? "complete" : "unknown" puts "Time: #{key.iso8601}, Status: #{result}" end puts "\n" end |