mysql_truck 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/mysql_truck +1 -1
- data/lib/mysql_truck.rb +24 -9
- data/lib/mysql_truck/version.rb +1 -1
- metadata +4 -4
data/bin/mysql_truck
CHANGED
@@ -49,7 +49,7 @@ parser = OptionParser.new do |opts|
|
|
49
49
|
end
|
50
50
|
|
51
51
|
opts.on("--bucket-dir BUCKET_DIR", "S3 bucket dir [defaults to database name]") do |dir|
|
52
|
-
options[:bucket_dir] =
|
52
|
+
options[:bucket_dir] = dir
|
53
53
|
end
|
54
54
|
|
55
55
|
opts.on("--dump-dir DIR", "Directory where the mysql dumps will go before upload/download.", "Defaults to /tmp") do |dir|
|
data/lib/mysql_truck.rb
CHANGED
@@ -178,15 +178,7 @@ module MysqlTruck
|
|
178
178
|
|
179
179
|
puts "Downloading backups ..."
|
180
180
|
@bucket.keys(:prefix => prefix).each do |key|
|
181
|
-
filename =
|
182
|
-
|
183
|
-
next if filename.match(/\.csv\.gz$/) && skip_tables.include?(File.basename(filename, ".csv.gz"))
|
184
|
-
|
185
|
-
print " - Downloading #{filename} ... "
|
186
|
-
File.open(tmp_path.join(filename), "wb") do |f|
|
187
|
-
f.write key.get
|
188
|
-
end
|
189
|
-
print "complete.\n"
|
181
|
+
next unless (filename = download_file(key))
|
190
182
|
|
191
183
|
# gunzip file
|
192
184
|
print " -- Inflating #{filename} ... "
|
@@ -214,10 +206,33 @@ module MysqlTruck
|
|
214
206
|
end
|
215
207
|
|
216
208
|
puts "Backup loaded."
|
209
|
+
|
210
|
+
rescue Exception => e
|
211
|
+
puts e.message
|
212
|
+
puts e.backtrace.join("\n")
|
217
213
|
ensure
|
218
214
|
remove_directories
|
219
215
|
end
|
220
216
|
|
217
|
+
def download_file(key)
|
218
|
+
filename = File.basename(key.name)
|
219
|
+
print " - Downloading #{filename} ... "
|
220
|
+
|
221
|
+
if filename.match(/\.csv\.gz$/) && skip_tables.include?(File.basename(filename, ".csv.gz"))
|
222
|
+
puts " [ Skipping ]"
|
223
|
+
return false
|
224
|
+
end
|
225
|
+
|
226
|
+
File.open(tmp_path.join(filename), "wb") do |f|
|
227
|
+
@bucket.s3.interface.get(@bucket.name, key.name) do |chunk|
|
228
|
+
f.write chunk
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
232
|
+
print "complete.\n"
|
233
|
+
filename
|
234
|
+
end
|
235
|
+
|
221
236
|
# Get a list of backups stored on S3.
|
222
237
|
#
|
223
238
|
# Returns an array of s3 paths that look like:
|
data/lib/mysql_truck/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mysql_truck
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,12 +10,12 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2011-09-
|
13
|
+
date: 2011-09-20 00:00:00.000000000 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: right_aws
|
18
|
-
requirement: &
|
18
|
+
requirement: &2160179560 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,7 +23,7 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *2160179560
|
27
27
|
description: Mysql database backup tool. Dumps/Loads to/from S3.
|
28
28
|
email:
|
29
29
|
- peter@paydrotalks.com
|