s3rsync 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/s3rsync/cli.rb +1 -0
- data/lib/s3rsync/sync.rb +16 -10
- data/lib/s3rsync/version.rb +1 -1
- data/spec/sync_spec.rb +1 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NGMzOTY2MTdlNGFmMWFiMWU1NmViOTdmZjVjMTk3NzY5YmUyODUzZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NWJiNWY5NDg5NDU2Y2I3MmI1ZjkwNDRmYjhiMjlmOGE5ODI0NGIwOA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZjQxOGYwMWMxYWY0ZmM0MTkwMDJhMmNlYjA5MjczOTgzOGVhZmU3ZDI3Mzk3
|
10
|
+
YjE0Njk2NzQ0YWI1YzlhZmM3YjMxOWY4NTFkMmEzOGJhOWU0YzY3YzI2OTA4
|
11
|
+
N2M4NDI2YTY4MGEzZGMzYjcyZDc3MzY2YTE4N2NkZTllZTExMGQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Nzg3N2NiOTBmNGZjMzBmOWRmZWU4M2JhZGIyZWMyYWNkMWRjMjE2M2IxNGY2
|
14
|
+
NzFhNDNjNDliNzJhNTI3MTcyYjZjODI4NzA0YjBlOTM2YTE3OWNkNDZjNzQ2
|
15
|
+
ZjdkZmE1NTg2YTczOTRlNmIwNjU3MjgwYmY1YTAyN2IzZWM3MGY=
|
data/lib/s3rsync/cli.rb
CHANGED
@@ -10,6 +10,7 @@ module S3Rsync
|
|
10
10
|
method_option :'log-path', :aliases => "-l"
|
11
11
|
method_option :'dry-run', :aliases => "-d", :type => :boolean, :default => false
|
12
12
|
method_option :'make-public', :aliases => "-m", :type => :boolean, :default => false
|
13
|
+
method_option :'enable-lock', :aliases => "-e", :type => :boolean, :default => false
|
13
14
|
end
|
14
15
|
|
15
16
|
desc "upload", "sync from local to s3"
|
data/lib/s3rsync/sync.rb
CHANGED
@@ -16,6 +16,7 @@ module S3Rsync
|
|
16
16
|
@params[:s3cmd_conf] = @params[:config_path].sub('.json', '_s3rsync.conf')
|
17
17
|
@params[:dry_run] = opt['dry-run']
|
18
18
|
@params[:make_public] = opt['make-public']
|
19
|
+
@params[:enable_lock] = opt['enable-lock']
|
19
20
|
@log.debug "@params[:config_path]: #{@params[:config_path]}"
|
20
21
|
begin
|
21
22
|
conf = JSON.parse File.read(@params[:config_path])
|
@@ -68,18 +69,23 @@ module S3Rsync
|
|
68
69
|
def run(mode = :upload)
|
69
70
|
init_s3cmd_conf
|
70
71
|
|
71
|
-
|
72
|
-
|
72
|
+
valid_file_upload = (mode == :upload && File.exists?(@params[:path]))
|
73
|
+
if !Dir.exists?(@params[:path]) && !valid_file_upload
|
74
|
+
@log.error "Local dir or file not exist on disk: #{@params[:path]}"
|
73
75
|
return 4
|
74
76
|
end
|
75
77
|
|
76
|
-
|
78
|
+
@params[:path] += '/' if Dir.exists?(@params[:path])
|
79
|
+
sync_locations = "#{@params[:path]} s3://#{@params[:s3_bucket]}/#{@params[:s3_prefix]}#{@params[:path]}"
|
77
80
|
@log.debug "original sync_locations: #{sync_locations}"
|
78
|
-
|
79
|
-
@
|
80
|
-
|
81
|
-
@log.
|
82
|
-
|
81
|
+
|
82
|
+
if @params[:enable_lock]
|
83
|
+
lockfile = get_lock(mode)
|
84
|
+
@log.debug "lockfile: #{lockfile.inspect}"
|
85
|
+
if lockfile.locked?
|
86
|
+
@log.warn "lock file found, exiting: #{lockfile.inspect}"
|
87
|
+
return 5
|
88
|
+
end
|
83
89
|
end
|
84
90
|
|
85
91
|
if mode == :download
|
@@ -90,7 +96,7 @@ module S3Rsync
|
|
90
96
|
|
91
97
|
sync_output = 1
|
92
98
|
begin
|
93
|
-
lockfile.lock
|
99
|
+
lockfile.lock if @params[:enable_lock]
|
94
100
|
s3cmd_args = {}
|
95
101
|
s3cmd_args['-c'] = @params[:s3cmd_conf]
|
96
102
|
s3cmd_args['--dry-run'] = '' if @params[:dry_run]
|
@@ -106,7 +112,7 @@ module S3Rsync
|
|
106
112
|
sync_output = 1
|
107
113
|
@log.error "something wrong while trying to run the sync: #{e.inspect}"
|
108
114
|
ensure
|
109
|
-
lockfile.unlock
|
115
|
+
lockfile.unlock if @params[:enable_lock]
|
110
116
|
end
|
111
117
|
|
112
118
|
if (sync_output == 1) || sync_output.downcase.include?('error')
|
data/lib/s3rsync/version.rb
CHANGED
data/spec/sync_spec.rb
CHANGED