o2h 0.1.5 → 0.1.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/lib/o2h/recipes/sync.rb +35 -0
- data/lib/o2h/version.rb +1 -1
- metadata +9 -9
data/lib/o2h/recipes/sync.rb
CHANGED
@@ -77,6 +77,41 @@ namespace :sync do
|
|
77
77
|
download sync_db_remote_file, sync_db_local_file, :via => sync_db_via
|
78
78
|
end
|
79
79
|
end
|
80
|
+
|
81
|
+
namespace :fs do
|
82
|
+
#
|
83
|
+
# Returns the actual host name to sync and port
|
84
|
+
#
|
85
|
+
def host_and_port
|
86
|
+
return roles[:web].servers.first.host, ssh_options[:port] || roles[:web].servers.first.port || 22
|
87
|
+
end
|
88
|
+
|
89
|
+
desc "Sync remote folder with local. Needs 'folder' argument."
|
90
|
+
task :default do
|
91
|
+
host, port = host_and_port
|
92
|
+
|
93
|
+
folder = fetch(:folder, ENV['folder'])
|
94
|
+
|
95
|
+
raise "no folder given" unless folder
|
96
|
+
|
97
|
+
remote = File.join(shared_path, folder)
|
98
|
+
local = File.join('shared', folder)
|
99
|
+
|
100
|
+
size = capture("du -sb #{remote} | awk '{print $1}'").strip.to_i
|
101
|
+
|
102
|
+
# --verbose --stats \ # this breaks pv
|
103
|
+
|
104
|
+
cmd = %{
|
105
|
+
rsync --archive --compres --delete \
|
106
|
+
--keep-dirlinks --copy-links \
|
107
|
+
--rsh='ssh -p #{port}' \
|
108
|
+
#{user}@#{host}:#{remote} #{local} | pv -p -t -e -s #{size} -r -a
|
109
|
+
}.gsub(/\s+/, ' ').gsub(/(^\s+|\s+$)/, '')
|
110
|
+
|
111
|
+
run_locally(cmd)
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
80
115
|
end
|
81
116
|
|
82
117
|
|
data/lib/o2h/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: o2h
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-12-06 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: newrelic_rpm
|
16
|
-
requirement: &
|
16
|
+
requirement: &70291450184780 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.3.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70291450184780
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: capistrano
|
27
|
-
requirement: &
|
27
|
+
requirement: &70291450183720 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.9.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70291450183720
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rvm
|
38
|
-
requirement: &
|
38
|
+
requirement: &70291450181900 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.9.2
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70291450181900
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: pg_dumper
|
49
|
-
requirement: &
|
49
|
+
requirement: &70291450181240 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: 0.1.6
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70291450181240
|
58
58
|
description: Collection of recipes and gem dependencies for o2h deployment
|
59
59
|
email:
|
60
60
|
- michal@o2h.cz
|