ssync 0.3.0 → 0.3.1
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/README.md +9 -7
- data/lib/ssync/command.rb +7 -0
- data/lib/ssync/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Ssync
|
2
2
|
|
3
|
-
__Ssync__, an optimised S3 sync tool using the power of
|
3
|
+
__Ssync__, an optimised S3 sync tool using the power of Unix!
|
4
4
|
|
5
5
|
## Requirements
|
6
6
|
|
@@ -19,7 +19,7 @@ __Ssync__, an optimised S3 sync tool using the power of *nix!
|
|
19
19
|
To configure, run `ssync setup` and follow the prompts, you'll
|
20
20
|
need your AWS keys, the local file path you want to back up, the bucket name
|
21
21
|
to back up to, and any extra options to pass into find (i.e. for ignoring
|
22
|
-
filepaths etc). It'll write the config to `~/.ssync.yml`.
|
22
|
+
filepaths etc). It'll write the config to `~/.ssync/my-s3-bucket.yml`.
|
23
23
|
|
24
24
|
## Synchronisation
|
25
25
|
|
@@ -32,11 +32,13 @@ or `ssync sync --force` to force a checksum comparison.
|
|
32
32
|
|
33
33
|
If you would like to sync to more than one S3 buckets, you may do so by:
|
34
34
|
|
35
|
-
ssync setup s3-bucket
|
36
|
-
ssync sync s3-bucket
|
35
|
+
ssync setup my-s3-bucket
|
36
|
+
ssync sync my-s3-bucket
|
37
37
|
|
38
|
-
ssync setup s3-bucket
|
39
|
-
ssync sync s3-bucket
|
38
|
+
ssync setup another-s3-bucket
|
39
|
+
ssync sync another-s3-bucket
|
40
|
+
|
41
|
+
Running `ssync setup` and `ssync sync` without any bucket names defaults to using the last bucket you used.
|
40
42
|
|
41
43
|
## Why?
|
42
44
|
|
@@ -46,7 +48,7 @@ That's where S3 is nice.
|
|
46
48
|
|
47
49
|
We tried [s3sync](http://www.s3sync.net/) but it blew our server load (we do in excess of
|
48
50
|
500,000 requests a day (page views, not including hits for images and what not,
|
49
|
-
and the server needs to stay responsive). The secret sauce is using the
|
51
|
+
and the server needs to stay responsive). The secret sauce is using the Unix
|
50
52
|
`find`, `xargs` and `openssl` commands to generate md5 checksums for comparison.
|
51
53
|
Seems to work quite well for us (we have almost 90,000 files to compare).
|
52
54
|
|
data/lib/ssync/command.rb
CHANGED
@@ -27,12 +27,19 @@ module Ssync
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def run!
|
30
|
+
util_check!
|
30
31
|
pre_run_check!
|
31
32
|
perform_action!
|
32
33
|
end
|
33
34
|
|
34
35
|
private
|
35
36
|
|
37
|
+
def util_check!
|
38
|
+
%w{find xargs openssl}.each do |util|
|
39
|
+
e! "You do not have '#{util}' installed on your operating system." if `which #{util}`.empty?
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
36
43
|
def pre_run_check!
|
37
44
|
if action_eq?(:sync) && !config_exists?(default_config_path) && !config_exists?
|
38
45
|
e! "Cannot run the sync, there is no Ssync configuration, try 'ssync setup' to create one first."
|
data/lib/ssync/version.rb
CHANGED