irgat 0.0.4 → 0.0.5
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/History.txt +6 -0
- data/Manifest.txt +1 -0
- data/bin/irgat_updater +3 -2
- data/lib/irgat.rb +7 -5
- data/lib/irgat/dependencies.rb +4 -2
- data/lib/irgat/execs.rb +15 -3
- data/lib/irgat/log.rb +38 -21
- data/lib/irgat/mail.rb +19 -18
- data/lib/irgat/version.rb +1 -1
- data/lib/modules/backup.rb +4 -4
- data/lib/modules/console.rb +1 -1
- data/lib/modules/kwallet.rb +6 -2
- data/setup/etc/irgat.yml.example +1 -1
- data/website/index.html +53 -32
- data/website/index.txt +50 -37
- data/website/irgat.png +0 -0
- data/website/stylesheets/screen.css +12 -4
- data/website/template.html.erb +6 -2
- metadata +3 -2
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
data/bin/irgat_updater
CHANGED
@@ -57,8 +57,9 @@ answer = $stdin.gets
|
|
57
57
|
stop_update('Halted by user') if answer.strip == 'n'
|
58
58
|
|
59
59
|
Dir.chdir("/etc/irgat")
|
60
|
-
# Takes all the entries but
|
61
|
-
|
60
|
+
# Takes all the config entries but only if finish in yml (!examples or !default)
|
61
|
+
d = Dir.new("/etc/irgat")
|
62
|
+
d.entries.select { |c| c =~ /.yml$/ }.each { |config_file|
|
62
63
|
puts "\n* Check #{ config_file }? [Y/n]"
|
63
64
|
answer = $stdin.gets
|
64
65
|
|
data/lib/irgat.rb
CHANGED
@@ -19,8 +19,11 @@ begin
|
|
19
19
|
require 'rdoc/markup/simple_markup/to_flow'
|
20
20
|
require 'rdoc/ri/ri_formatter'
|
21
21
|
require 'rdoc/ri/ri_options'
|
22
|
+
# SendMail
|
22
23
|
require 'net/smtp'
|
23
24
|
require 'tmail'
|
25
|
+
# Executes
|
26
|
+
require 'open3'
|
24
27
|
# irgat Base
|
25
28
|
require 'irgat'
|
26
29
|
rescue LoadError => msj
|
@@ -81,7 +84,7 @@ module Irgat
|
|
81
84
|
def initialize(values = {})
|
82
85
|
@init_time = Time.now
|
83
86
|
@config = self.load_config
|
84
|
-
# modify debug by cmd line class
|
87
|
+
# modify debug by cmd line class || scape nil value to 0
|
85
88
|
if @@debug_level.to_i >= 1
|
86
89
|
@config[:debug_level] = @@debug_level.to_i
|
87
90
|
end
|
@@ -98,7 +101,7 @@ module Irgat
|
|
98
101
|
def process(args = [])
|
99
102
|
irgat_module = args.shift
|
100
103
|
# get subsytem if active FIXME
|
101
|
-
if
|
104
|
+
if !@config[:enable_subsystem].include?(irgat_module)
|
102
105
|
exit_with_error('Module not enable in irgat config',
|
103
106
|
{ :exit_level => 2 })
|
104
107
|
end
|
@@ -106,7 +109,7 @@ module Irgat
|
|
106
109
|
# action ?
|
107
110
|
( args.first ? action = args.shift : action = "default" )
|
108
111
|
|
109
|
-
# irgat options
|
112
|
+
# irgat options, extract from here the irgat options values
|
110
113
|
module_args = Array.new
|
111
114
|
while arg = args.shift
|
112
115
|
case arg
|
@@ -115,7 +118,7 @@ module Irgat
|
|
115
118
|
$stdout = File.new("/dev/null","w")
|
116
119
|
when "-d","--debug_level"
|
117
120
|
# take new debug level
|
118
|
-
@@debug_level = args.shift
|
121
|
+
@@debug_level = args.shift
|
119
122
|
else
|
120
123
|
module_args << arg
|
121
124
|
end
|
@@ -150,7 +153,6 @@ module Irgat
|
|
150
153
|
|
151
154
|
if test(?e,config_file)
|
152
155
|
config_yml = YAML.load_file(config_file )
|
153
|
-
# parse to symbols the config options
|
154
156
|
config_to_symbols = Hash.new
|
155
157
|
config_yml.each{|k, v| config_to_symbols[k.to_sym] = v}
|
156
158
|
else
|
data/lib/irgat/dependencies.rb
CHANGED
@@ -72,8 +72,10 @@ module Irgat
|
|
72
72
|
# create if not exist the folder
|
73
73
|
def exist_or_create_folder(folder_absolute_path)
|
74
74
|
if ! test(?d,folder_absolute_path)
|
75
|
-
|
76
|
-
|
75
|
+
mkdir_command = execute_command("mkdir #{ folder_absolute_path }",
|
76
|
+
"Creating '#{ folder_absolute_path }'",
|
77
|
+
{:debug => 3 })
|
78
|
+
exit_with_error("Can't create folder '#{ folder_absolute_path }.") unless mkdir_command[:status] == 0
|
77
79
|
end
|
78
80
|
end
|
79
81
|
|
data/lib/irgat/execs.rb
CHANGED
@@ -11,10 +11,22 @@ module Irgat
|
|
11
11
|
command_data[:info] = command_description
|
12
12
|
command_data[:exec] = command.to_s
|
13
13
|
command_data[:pre_time] = Time.now
|
14
|
-
|
15
|
-
|
14
|
+
|
15
|
+
|
16
|
+
Open3.popen3 "#{ command_data[:exec] }" do |stdin, stdout, stderr|
|
17
|
+
command_data[:status] = $?
|
18
|
+
command_data[:errors] = stderr.readlines.join('')
|
19
|
+
command_data[:output] = stdout.readlines.join('')
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
#changes in output
|
24
|
+
#command_data[:output] = %x[ #{command_data[:exec] } 2> /tmp/error_out ]
|
25
|
+
#command_data[:status] = $?
|
26
|
+
# command_data[:errors] = File.new("/tmp/error_out").read
|
27
|
+
|
16
28
|
command_data[:pos_time] = Time.now
|
17
|
-
|
29
|
+
|
18
30
|
|
19
31
|
# add to commands launched
|
20
32
|
@commands_launched << { command_data[:info] => command_data[:status] }
|
data/lib/irgat/log.rb
CHANGED
@@ -23,6 +23,7 @@ module Irgat
|
|
23
23
|
|
24
24
|
fatal = options[:fatal] || false
|
25
25
|
|
26
|
+
|
26
27
|
# build report
|
27
28
|
report = build_report(module_process.log_process)
|
28
29
|
resume = build_resume(fatal, module_process)
|
@@ -43,7 +44,19 @@ module Irgat
|
|
43
44
|
|
44
45
|
log_file_folder = "#{ @config[:log_path] }/#{ module_process.config_module[:subsystem_name] }"
|
45
46
|
|
46
|
-
|
47
|
+
# Try to create log folder
|
48
|
+
# Debug annotation:
|
49
|
+
# we can't use here exist_or_create_folder, because, this function, if fails, report a log.
|
50
|
+
# If we can't create a log, and exit_with_error method log the error, irgat goes inside a error bucle :-)
|
51
|
+
if ! test(?d,log_file_folder)
|
52
|
+
### FIXME ###
|
53
|
+
create_log_folder = execute_command("mkdir #{ log_file_folder }",
|
54
|
+
"Creating '#{ log_file_folder }'",
|
55
|
+
{:debug => 3 })
|
56
|
+
# if create_log_folder[:status]
|
57
|
+
|
58
|
+
# dont_log = false unless
|
59
|
+
end
|
47
60
|
|
48
61
|
log_file = "#{ log_file_folder }/#{ Time.now.strftime("%Y-%m-%d") }_#{ module_process.action }_in_#{ @config[:server_name] }.log"
|
49
62
|
|
@@ -67,25 +80,29 @@ module Irgat
|
|
67
80
|
private
|
68
81
|
def build_report(log_process)
|
69
82
|
report = ''
|
70
|
-
|
71
|
-
log_process
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
83
|
+
|
84
|
+
if log_process
|
85
|
+
log_process.each { |log_entry|
|
86
|
+
case log_entry[:type]
|
87
|
+
when "point"
|
88
|
+
@point ||= 0
|
89
|
+
underscroll_caracter = "="
|
90
|
+
report << "\n\n #{ @point } #{ log_entry[:msj] } \n"
|
91
|
+
report << ' ' + (underscroll_caracter * @point.to_s.length) + underscroll_caracter + (underscroll_caracter * log_entry[:msj].length) + "\n"
|
92
|
+
@point += 1
|
93
|
+
when "text"
|
94
|
+
if @config[:debug_level] >= log_entry[:debug]
|
95
|
+
report << "#{ log_entry[:msj] }"
|
96
|
+
end
|
97
|
+
when "command"
|
98
|
+
if @config[:debug_level] >= log_entry[:debug]
|
99
|
+
report << "\n #{ log_entry[:msj] }"
|
100
|
+
end
|
101
|
+
end
|
102
|
+
}
|
103
|
+
else
|
104
|
+
report = "Log empty"
|
105
|
+
end
|
89
106
|
report
|
90
107
|
end
|
91
108
|
|
@@ -146,4 +163,4 @@ module Irgat
|
|
146
163
|
return_msj
|
147
164
|
end
|
148
165
|
end
|
149
|
-
end
|
166
|
+
end
|
data/lib/irgat/mail.rb
CHANGED
@@ -6,24 +6,25 @@ module Irgat
|
|
6
6
|
def send_email(options = {})
|
7
7
|
mail = build_email(options)
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
9
|
+
case @config[:smtp_mode]
|
10
|
+
when 'smtp'
|
11
|
+
Net::SMTP.start(self.config[:smtp_values]["server"],
|
12
|
+
self.config[:smtp_values]["port"],
|
13
|
+
self.config[:smtp_values]["server"],
|
14
|
+
self.config[:smtp_values]["user"],
|
15
|
+
self.config[:smtp_values]["password"],
|
16
|
+
:login) do |smtp|
|
17
|
+
smtp.send_mail mail.encoded,
|
18
|
+
"irgat@#{ @config[:server_domain] }",
|
19
|
+
mail.destinations
|
20
|
+
end
|
21
|
+
when 'sendmail'
|
22
|
+
#send email to localhost without authentication
|
23
|
+
Net::SMTP.start('localhost', 25) do |smtp|
|
24
|
+
smtp.send_mail mail.encoded,
|
25
|
+
"irgat@#{ @config[:server_domain] }",
|
26
|
+
mail.destinations
|
27
|
+
end
|
27
28
|
end
|
28
29
|
end
|
29
30
|
|
data/lib/irgat/version.rb
CHANGED
data/lib/modules/backup.rb
CHANGED
@@ -45,7 +45,8 @@ module Irgat
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def list(args = [])
|
48
|
-
log("text", list_catalog[:output])
|
48
|
+
# log("text", list_catalog[:output])
|
49
|
+
# execute_command("su - \n","kk")
|
49
50
|
end
|
50
51
|
|
51
52
|
def search(args = [])
|
@@ -194,7 +195,6 @@ module Irgat
|
|
194
195
|
(Dir["*"] - Dir["*isolate*"]).each { |backup_file|
|
195
196
|
change_path_in_catalog(folder_date_name, backup_file.slice(0,10))
|
196
197
|
}
|
197
|
-
|
198
198
|
# return to delete
|
199
199
|
Dir.chdir(@folders[:data_local_old])
|
200
200
|
# if we have more, that the options how many stored backups number...
|
@@ -294,7 +294,7 @@ module Irgat
|
|
294
294
|
|
295
295
|
def identifies_backups_in_catalog(pattern)
|
296
296
|
ids_backups = []
|
297
|
-
backups_in_catalog = list_catalog
|
297
|
+
backups_in_catalog = list_catalog[:output]
|
298
298
|
backups_in_catalog.each_line { |backup_data|
|
299
299
|
if backup_data.include?(pattern)
|
300
300
|
ids_backups << backup_data.split(' ')[0]
|
@@ -423,4 +423,4 @@ module Irgat
|
|
423
423
|
|
424
424
|
|
425
425
|
end
|
426
|
-
end
|
426
|
+
end
|
data/lib/modules/console.rb
CHANGED
data/lib/modules/kwallet.rb
CHANGED
@@ -32,7 +32,7 @@ module Irgat
|
|
32
32
|
class Kwallet < Irgat
|
33
33
|
|
34
34
|
# initialize the Class... make default operations
|
35
|
-
def initialize
|
35
|
+
def initialize(values = [])
|
36
36
|
# Create and irgat process
|
37
37
|
irgat_process = Irgat.new()
|
38
38
|
# Get the instance variables
|
@@ -53,6 +53,10 @@ module Irgat
|
|
53
53
|
do_petition(args)
|
54
54
|
end
|
55
55
|
|
56
|
+
def kk(args)
|
57
|
+
execute_command("su - \n\n\n","kk de lavaka")
|
58
|
+
end
|
59
|
+
|
56
60
|
def do_petition(args)
|
57
61
|
petition = args.shift
|
58
62
|
if !petition or petition == ""
|
@@ -128,4 +132,4 @@ module Irgat
|
|
128
132
|
execute_command("scp -P #{@config_module[:remote_path]["port"]} #{@config_module[:remote_path]["user"]}@#{@config_module[:remote_path]["server"]}:/#{@config_module[:remote_path]["folder"]}/#{@config_module[:kwallet_name]}.kwl #{@config_module[:local_path]}","Updating local kwallet file from server",1)
|
129
133
|
end
|
130
134
|
end
|
131
|
-
end
|
135
|
+
end
|
data/setup/etc/irgat.yml.example
CHANGED
data/website/index.html
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
<link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
<title>
|
8
|
-
|
8
|
+
Irgat
|
9
9
|
</title>
|
10
10
|
<script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
|
11
11
|
<style>
|
@@ -29,50 +29,71 @@
|
|
29
29
|
</head>
|
30
30
|
<body>
|
31
31
|
<div id="main">
|
32
|
+
<img src="irgat.png" id="irgat_logo">
|
33
|
+
<div id="meta">
|
34
|
+
<h1>Irgat</h1>
|
35
|
+
<p id="description">Intuitive Ruby Gnoxys Administration Tools</p>
|
36
|
+
</div>
|
32
37
|
|
33
|
-
<h1>irgat</h1>
|
34
38
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/irgat"; return false'>
|
35
39
|
<p>Get Version</p>
|
36
|
-
<a href="http://rubyforge.org/projects/irgat" class="numbers">0.0.
|
40
|
+
<a href="http://rubyforge.org/projects/irgat" class="numbers">0.0.4</a>
|
37
41
|
</div>
|
38
|
-
<
|
39
|
-
<
|
40
|
-
<
|
41
|
-
<p><pre class='syntax'><span class="ident">sudo</span> <span class="ident">gem</span> <span class="ident">install</span> <span class="ident">irgat</span></pre></p>
|
42
|
-
<h2>The basics</h2>
|
43
|
-
<h2>Demonstration of usage</h2>
|
44
|
-
<h2>Forum</h2>
|
45
|
-
<p><a href="http://groups.google.com/group/irgat">http://groups.google.com/group/irgat</a></p>
|
46
|
-
<p><span class="caps">TODO</span> – create Google Group – irgat</p>
|
47
|
-
<h2>How to submit patches</h2>
|
48
|
-
<p>Read the <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/">8 steps for fixing other people’s code</a> and for section <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups">8b: Submit patch to Google Groups</a>, use the Google Group above.</p>
|
49
|
-
<p><span class="caps">TODO</span> – pick <span class="caps">SVN</span> or Git instructions</p>
|
50
|
-
<p>The trunk repository is <code>svn://rubyforge.org/var/svn/irgat/trunk</code> for anonymous access.</p>
|
51
|
-
<p><span class="caps">OOOORRRR</span></p>
|
52
|
-
<p>You can fetch the source from either:</p>
|
42
|
+
<h2>What</h2>
|
43
|
+
<p>Irgat try to simplify the rutinare administration tasks. Developed for a particulary objective (backup tool), irgat growed up until become a complete set up for utilities and easy structure script programming to perform all the rutinary adminitration works.</p>
|
44
|
+
<p>Irgat comes with:</p>
|
53
45
|
<ul>
|
54
|
-
<li>
|
46
|
+
<li>Execute commands methods.</li>
|
47
|
+
<li>Mail sender classes</li>
|
48
|
+
<li>Logging system</li>
|
49
|
+
<li>Test console</li>
|
50
|
+
<li>Check differents prerequisites before execute commands (mounted folders, programs)</li>
|
51
|
+
<li>Help methods</li>
|
52
|
+
<li>Programed with multilanguaje in mind</li>
|
53
|
+
<li>Differents debug levels</li>
|
55
54
|
</ul>
|
56
|
-
<
|
55
|
+
<p>Modules avaibles until today:</p>
|
57
56
|
<ul>
|
58
|
-
<li>
|
57
|
+
<li>Backup module (do backups, restore and search in crypted backups)</li>
|
58
|
+
<li>Kwallet moduel (safely store yours thousand passwords)</li>
|
59
|
+
<li>Console</li>
|
59
60
|
</ul>
|
60
|
-
<
|
61
|
-
<p><span class="caps">TODO</span> – add “github_username: username” to ~/.rubyforge/user-config.yml and newgem will reuse it for future projects.</p>
|
61
|
+
<p>Future modules:</p>
|
62
62
|
<ul>
|
63
|
-
<li>
|
63
|
+
<li>Cron task manager</li>
|
64
|
+
<li>Ssh connection interface</li>
|
65
|
+
<li>Pdf report outputs</li>
|
64
66
|
</ul>
|
65
|
-
<
|
66
|
-
<
|
67
|
-
<pre>
|
68
|
-
|
69
|
-
|
67
|
+
<h2>Installing</h2>
|
68
|
+
<p>Since irgat is gemified, you only need to do (as root):</p>
|
69
|
+
<p><pre class='syntax'><span class="global">$ </span><span class="ident">gem</span> <span class="ident">install</span> <span class="ident">irgat</span></pre></p>
|
70
|
+
<p>After that, you need to run irgat setup</p>
|
71
|
+
<p><pre class='syntax'><span class="global">$ </span><span class="ident">irgat_setup</span></pre></p>
|
72
|
+
<p>Setup will copy the default yml irgat config files to /etc/irgat. edit it and you are ready to run irgat!</p>
|
73
|
+
<h2>Demonstration of usage</h2>
|
74
|
+
<p>Launch a backup</p>
|
75
|
+
<p><pre class='syntax'><span class="global">$ </span><span class="ident">irgat</span> <span class="ident">backup</span> <span class="ident">launch</span></pre></p>
|
76
|
+
<p>Search a file in backup</p>
|
77
|
+
<p><pre class='syntax'><span class="global">$ </span><span class="ident">irgat</span> <span class="ident">backup</span> <span class="ident">search</span> <span class="punct">'</span><span class="string">[name pattern]</span><span class="punct">'</span></pre></p>
|
78
|
+
<p>Restore a backup</p>
|
79
|
+
<p><pre class='syntax'><span class="global">$ </span><span class="ident">irgat</span> <span class="ident">backup</span> <span class="ident">restore</span> <span class="punct">'</span><span class="string">[backup number]</span><span class="punct">'</span> <span class="punct">'</span><span class="string">[name pattern]</span><span class="punct">'</span></pre></p>
|
80
|
+
<p>More help comes built’in irgat.</p>
|
81
|
+
<h2>Get more help or get involved</h2>
|
82
|
+
<p>Irgat is still in alpha release (now, 0.0.4), and it is not recommend for production use, unless you know what you are doing :-)</p>
|
83
|
+
<p>Anyway you can test the tool and feedback us, that will be great.</p>
|
84
|
+
<p>The trunk repository is <code>https://svn.gnoxys.net/gnoxys/irgat/trunk</code> for anonymous access. And you can download the current germ or early version at <a href="http://rubyforge.org/frs/?group_id=7188">RubyForge proyect page</a></p>
|
85
|
+
<p>Other repositories are also avaible, but maybe not up to date</p>
|
86
|
+
<ul>
|
87
|
+
<li>rubyforge: <a href="http://rubyforge.org/scm/?group_id=7188">http://rubyforge.org/scm/?group_id=7188</a></li>
|
88
|
+
</ul>
|
89
|
+
<pre>git clone git://rubyforge.org/irgat.git</pre>
|
70
90
|
<h2>License</h2>
|
71
|
-
<p>
|
91
|
+
<p>2007 – 2008 Gnoxys. info@gnoxys.net<br />
|
92
|
+
This program is released under the terms of the <span class="caps">GPL</span> v3 license as you cand find in <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a></p>
|
72
93
|
<h2>Contact</h2>
|
73
|
-
<p>Comments are welcome. Send an email to <a href="mailto:
|
94
|
+
<p>Comments are welcome. Send an email to <a href="mailto:info@gnoxys.net">Gnoxys</a> or just visit our page at <a href="http://gnoxys.net">http://www.gnoxys.net</a></p>
|
74
95
|
<p class="coda">
|
75
|
-
<a href="
|
96
|
+
<a href="info@gnoxys.net">Gnoxys</a>, 5th November 2008<br>
|
76
97
|
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
77
98
|
</p>
|
78
99
|
</div>
|
data/website/index.txt
CHANGED
@@ -1,83 +1,96 @@
|
|
1
|
-
h1.
|
1
|
+
h1. Irgat
|
2
2
|
|
3
|
-
|
3
|
+
h2. What
|
4
4
|
|
5
|
+
Irgat try to simplify the rutinare administration tasks. Developed for a particulary objective (backup tool), irgat growed up until become a complete set up for utilities and easy structure script programming to perform all the rutinary adminitration works.
|
5
6
|
|
6
|
-
|
7
|
+
Irgat comes with:
|
7
8
|
|
9
|
+
* Execute commands methods.
|
10
|
+
* Mail sender classes
|
11
|
+
* Logging system
|
12
|
+
* Test console
|
13
|
+
* Check differents prerequisites before execute commands (mounted folders, programs)
|
14
|
+
* Help methods
|
15
|
+
* Programed with multilanguaje in mind
|
16
|
+
* Differents debug levels
|
17
|
+
|
8
18
|
|
9
|
-
|
19
|
+
Modules avaibles until today:
|
10
20
|
|
11
|
-
|
21
|
+
* Backup module (do backups, restore and search in crypted backups)
|
22
|
+
* Kwallet moduel (safely store yours thousand passwords)
|
23
|
+
* Console
|
12
24
|
|
13
|
-
|
25
|
+
Future modules:
|
14
26
|
|
27
|
+
* Cron task manager
|
28
|
+
* Ssh connection interface
|
29
|
+
* Pdf report outputs
|
15
30
|
|
16
|
-
h2. Demonstration of usage
|
17
31
|
|
32
|
+
h2. Installing
|
18
33
|
|
34
|
+
Since irgat is gemified, you only need to do (as root):
|
19
35
|
|
20
|
-
|
36
|
+
<pre syntax="ruby">$ gem install irgat</pre>
|
21
37
|
|
22
|
-
|
38
|
+
After that, you need to run irgat setup
|
23
39
|
|
24
|
-
|
40
|
+
<pre syntax="ruby">$ irgat_setup</pre>
|
25
41
|
|
26
|
-
|
42
|
+
Setup will copy the default yml irgat config files to /etc/irgat. edit it and you are ready to run irgat!
|
27
43
|
|
28
|
-
Read the "8 steps for fixing other people's code":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/ and for section "8b: Submit patch to Google Groups":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups, use the Google Group above.
|
29
44
|
|
30
|
-
|
45
|
+
h2. Demonstration of usage
|
31
46
|
|
32
|
-
|
47
|
+
Launch a backup
|
33
48
|
|
34
|
-
|
49
|
+
<pre syntax="ruby">$ irgat backup launch</pre>
|
35
50
|
|
36
|
-
|
51
|
+
Search a file in backup
|
37
52
|
|
38
|
-
|
53
|
+
<pre syntax="ruby">$ irgat backup search '[name pattern]'</pre>
|
39
54
|
|
40
|
-
|
55
|
+
Restore a backup
|
41
56
|
|
42
|
-
<pre
|
57
|
+
<pre syntax="ruby">$ irgat backup restore '[backup number]' '[name pattern]'</pre>
|
43
58
|
|
44
|
-
|
59
|
+
More help comes built'in irgat.
|
45
60
|
|
46
|
-
* rubyforge: MISSING IN ACTION
|
47
61
|
|
48
|
-
TODO - You can not created a RubyForge project, OR have not run <code>rubyforge config</code>
|
49
|
-
yet to refresh your local rubyforge data with this projects' id information.
|
50
62
|
|
51
|
-
When you do this, this message will magically disappear!
|
52
63
|
|
53
|
-
Or you can hack website/index.txt and make it all go away!!
|
54
64
|
|
55
|
-
|
65
|
+
h2. Get more help or get involved
|
56
66
|
|
57
|
-
|
67
|
+
Irgat is still in alpha release (now, <%= version %>), and it is not recommend for production use, unless you know what you are doing :-)
|
58
68
|
|
59
|
-
|
69
|
+
Anyway you can test the tool and feedback us, that will be great.
|
60
70
|
|
61
71
|
|
62
|
-
|
72
|
+
The trunk repository is <code>https://svn.gnoxys.net/gnoxys/irgat/trunk</code> for anonymous access. And you can download the current germ or early version at "RubyForge proyect page":http://rubyforge.org/frs/?group_id=7188
|
63
73
|
|
74
|
+
Other repositories are also avaible, but maybe not up to date
|
75
|
+
<% if rubyforge_project_id %>
|
64
76
|
|
65
|
-
*
|
77
|
+
* rubyforge: "http://rubyforge.org/scm/?group_id=<%= rubyforge_project_id %>":http://rubyforge.org/scm/?group_id=<%= rubyforge_project_id %>
|
66
78
|
|
67
|
-
<pre>git clone git://
|
79
|
+
<pre>git clone git://rubyforge.org/irgat.git</pre>
|
80
|
+
|
81
|
+
<% else %>
|
68
82
|
|
69
|
-
h3. Build and test instructions
|
70
83
|
|
71
|
-
|
72
|
-
|
73
|
-
rake install_gem</pre>
|
84
|
+
|
85
|
+
<% end %>
|
74
86
|
|
75
87
|
|
76
88
|
h2. License
|
77
89
|
|
78
|
-
|
90
|
+
2007 - 2008 Gnoxys. info@gnoxys.net
|
91
|
+
This program is released under the terms of the GPL v3 license as you cand find in "http://www.gnu.org/licenses/gpl.html":http://www.gnu.org/licenses/gpl.html
|
79
92
|
|
80
93
|
h2. Contact
|
81
94
|
|
82
|
-
Comments are welcome. Send an email to "
|
95
|
+
Comments are welcome. Send an email to "Gnoxys":mailto:info@gnoxys.net or just visit our page at "http://www.gnoxys.net":http://gnoxys.net
|
83
96
|
|
data/website/irgat.png
ADDED
Binary file
|
@@ -9,13 +9,16 @@ body {
|
|
9
9
|
h1, h2, h3, h4, h5, h6 {
|
10
10
|
color: #444;
|
11
11
|
}
|
12
|
+
|
13
|
+
h2 { clear: both; }
|
14
|
+
|
12
15
|
h1 {
|
13
16
|
font-family: sans-serif;
|
14
17
|
font-weight: normal;
|
15
18
|
font-size: 4em;
|
16
19
|
line-height: 0.8em;
|
17
20
|
letter-spacing: -0.1ex;
|
18
|
-
|
21
|
+
margin-bottom: 2px;
|
19
22
|
}
|
20
23
|
li {
|
21
24
|
padding: 0;
|
@@ -23,9 +26,8 @@ li {
|
|
23
26
|
list-style-type: square;
|
24
27
|
}
|
25
28
|
a {
|
26
|
-
color:
|
27
|
-
|
28
|
-
font-weight: normal;
|
29
|
+
color: black;
|
30
|
+
font-weight: bold;
|
29
31
|
text-decoration: underline;
|
30
32
|
}
|
31
33
|
blockquote {
|
@@ -136,3 +138,9 @@ pre, code {
|
|
136
138
|
cursor: hand;
|
137
139
|
}
|
138
140
|
|
141
|
+
|
142
|
+
#irgat_logo {
|
143
|
+
float: left;
|
144
|
+
}
|
145
|
+
|
146
|
+
#meta { float: left; margin-left: 10px; }
|
data/website/template.html.erb
CHANGED
@@ -29,15 +29,19 @@
|
|
29
29
|
</head>
|
30
30
|
<body>
|
31
31
|
<div id="main">
|
32
|
+
<img src="irgat.png" id="irgat_logo">
|
33
|
+
<div id="meta">
|
34
|
+
<h1><%= title %></h1>
|
35
|
+
<p id="description">Intuitive Ruby Gnoxys Administration Tools</p>
|
36
|
+
</div>
|
32
37
|
|
33
|
-
<h1><%= title %></h1>
|
34
38
|
<div id="version" class="clickable" onclick='document.location = "<%= download %>"; return false'>
|
35
39
|
<p>Get Version</p>
|
36
40
|
<a href="<%= download %>" class="numbers"><%= version %></a>
|
37
41
|
</div>
|
38
42
|
<%= body %>
|
39
43
|
<p class="coda">
|
40
|
-
<a href="
|
44
|
+
<a href="info@gnoxys.net">Gnoxys</a>, <%= modified.pretty %><br>
|
41
45
|
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
42
46
|
</p>
|
43
47
|
</div>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: irgat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gnoxys
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-11-
|
12
|
+
date: 2008-11-21 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- website/javascripts/rounded_corners_lite.inc.js
|
113
113
|
- website/stylesheets/screen.css
|
114
114
|
- website/template.html.erb
|
115
|
+
- website/irgat.png
|
115
116
|
has_rdoc: true
|
116
117
|
homepage: http://irgat.rubyforge.org
|
117
118
|
post_install_message: |
|