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.
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module O2h
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
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.5
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: &70217441008420 !ruby/object:Gem::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: *70217441008420
24
+ version_requirements: *70291450184780
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: capistrano
27
- requirement: &70217441007880 !ruby/object:Gem::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: *70217441007880
35
+ version_requirements: *70291450183720
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rvm
38
- requirement: &70217441007260 !ruby/object:Gem::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: *70217441007260
46
+ version_requirements: *70291450181900
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: pg_dumper
49
- requirement: &70217441006580 !ruby/object:Gem::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: *70217441006580
57
+ version_requirements: *70291450181240
58
58
  description: Collection of recipes and gem dependencies for o2h deployment
59
59
  email:
60
60
  - michal@o2h.cz