irgat 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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: |
|