rbatch 1.8.0 → 1.8.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/.gitignore +2 -0
- data/CHANGELOG +43 -0
- data/HOW_TO_TEST.md +9 -0
- data/README.ja.md +6 -5
- data/README.md +6 -5
- data/Rakefile +1 -38
- metadata +78 -112
- data/sample/bin/log_backup.rb +0 -20
- data/sample/bin/test.rb +0 -6
- data/sample/bin/test2.rb +0 -3
- data/sample/conf/log_backup.yaml +0 -4
- data/sample/log/20130120_apache_log_insert.log +0 -171
- data/sample/log/20130120_openam_log_insert.log +0 -143
- data/sample/log/20130121_apache_log_insert.log +0 -103
- data/sample/log/20130121_file_batch_copy.log +0 -15
- data/sample/log/20130121_openam_log_insert.log +0 -39
- data/sample/log/20130121_webagent_log_insert.log +0 -432
- data/sample/log/20130122_apache_log_insert.log +0 -153
- data/sample/log/20130122_openam_log_insert.log +0 -374
- data/sample/log/20130122_webagent_log_insert.log +0 -144
- data/sample/log/20130129_log_backup.log +0 -95
- data/sample/log/20130131_apache_log_insert.log +0 -23
- data/sample/log/20130209_test.log +0 -128
- data/sample/log/20130210_test.log +0 -68
- data/sample/moto/README +0 -16
- data/sample/moto/auditlog.src.zip +0 -0
- data/sample/moto/build.gradle +0 -106
- data/sample/moto/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/sample/moto/gradle/wrapper/gradle-wrapper.properties +0 -7
- data/sample/moto/gradle.properties +0 -12
- data/sample/moto/gradlew +0 -164
- data/sample/moto/gradlew.bat +0 -90
- data/sample/moto/settings.gradle +0 -1
- data/sample/moto/src/main/bin/delete_auditlog.sh +0 -176
- data/sample/moto/src/main/bin/delete_workflowinstances.sh +0 -315
- data/sample/moto/src/main/bin/import_auth_log.sh +0 -23
- data/sample/moto/src/main/etc/delete_auditlog.param +0 -39
- data/sample/moto/src/main/etc/delete_workflowinstances.param +0 -30
- data/sample/moto/src/main/etc/log4j.xml +0 -28
- data/sample/moto/src/main/etc/status.properties +0 -27
- data/sample/moto/src/main/etc/sysparam.properties +0 -54
- data/sample/moto/src/main/java/jp/ossc/imortAuditlog/DateUtil.java +0 -48
- data/sample/moto/src/main/java/jp/ossc/imortAuditlog/ImportAuthLogMain.java +0 -36
- data/sample/moto/src/main/java/jp/ossc/imortAuditlog/LogReader.java +0 -521
- data/sample/moto/src/main/java/jp/ossc/imortAuditlog/MysqlController.java +0 -315
- data/sample/moto/src/main/logrotate/delete_auditlog +0 -6
- data/sample/moto/src/main/logrotate/delete_workflowinstanceslog +0 -6
- data/sample/moto/src/main/sql/tables.sql +0 -36
@@ -1,315 +0,0 @@
|
|
1
|
-
package jp.ossc.imortAuditlog;
|
2
|
-
|
3
|
-
import java.net.InetAddress;
|
4
|
-
import java.net.UnknownHostException;
|
5
|
-
import java.sql.Connection;
|
6
|
-
import java.sql.DriverManager;
|
7
|
-
import java.sql.SQLException;
|
8
|
-
import java.sql.Timestamp;
|
9
|
-
import java.util.Map;
|
10
|
-
import java.util.PropertyResourceBundle;
|
11
|
-
import java.util.ResourceBundle;
|
12
|
-
|
13
|
-
import java.sql.PreparedStatement;
|
14
|
-
|
15
|
-
import org.apache.log4j.Logger;
|
16
|
-
|
17
|
-
public class MysqlController {
|
18
|
-
private static Logger logger = Logger.getLogger(MysqlController.class);
|
19
|
-
|
20
|
-
private static Connection con = null;
|
21
|
-
private static InetAddress addr = null;
|
22
|
-
private static PreparedStatement pstmtAuthBatch = null;
|
23
|
-
private static PreparedStatement pstmtAgentAuthBatch = null;
|
24
|
-
private static PreparedStatement pstmtBatch = null;
|
25
|
-
ResourceBundle sysResource = PropertyResourceBundle.getBundle("sysparam");
|
26
|
-
|
27
|
-
//処理件数
|
28
|
-
public int excuteAuthCount =0;
|
29
|
-
public int excuteAgentAuthCount =0;
|
30
|
-
public int excuteCount =0;
|
31
|
-
|
32
|
-
/*
|
33
|
-
* MySqlへ接続を行う。
|
34
|
-
*/
|
35
|
-
public Boolean connect(){
|
36
|
-
|
37
|
-
if(con == null){
|
38
|
-
try {
|
39
|
-
// JDBCドライバの登録
|
40
|
-
String driver = "com.mysql.jdbc.Driver";
|
41
|
-
// Host名
|
42
|
-
String server = sysResource.getString("mysql.host");
|
43
|
-
// port番号
|
44
|
-
String port = sysResource.getString("mysql.port");
|
45
|
-
// ユーザー
|
46
|
-
String user = sysResource.getString("mysql.user");
|
47
|
-
// パスワード
|
48
|
-
String password = sysResource.getString("mysql.password");
|
49
|
-
// データベース名
|
50
|
-
String dbname =sysResource.getString("mysql.dbname");
|
51
|
-
// オプション
|
52
|
-
String option =sysResource.getString("mysql.option");
|
53
|
-
// データベースの指定
|
54
|
-
String url = "jdbc:mysql://" + server +":" + port + "/"+ dbname + "?" + option;
|
55
|
-
Class.forName (driver);
|
56
|
-
// データベースとの接続
|
57
|
-
con = DriverManager.getConnection(url, user, password);
|
58
|
-
con.setAutoCommit(false);
|
59
|
-
} catch (SQLException e) {
|
60
|
-
logger.error("dbconect error");
|
61
|
-
e.printStackTrace ();
|
62
|
-
} catch (ClassNotFoundException ex) {
|
63
|
-
logger.error("driver class not found");
|
64
|
-
ex.printStackTrace ();
|
65
|
-
}
|
66
|
-
}
|
67
|
-
return true;
|
68
|
-
}
|
69
|
-
|
70
|
-
/*
|
71
|
-
* MySqlへの接続を切断する。
|
72
|
-
*/
|
73
|
-
public void disconnect() {
|
74
|
-
try {
|
75
|
-
con.close();
|
76
|
-
if (con != null)
|
77
|
-
con = null;
|
78
|
-
} catch (SQLException e) {
|
79
|
-
//logger.warn("", e);
|
80
|
-
}
|
81
|
-
}
|
82
|
-
|
83
|
-
/*
|
84
|
-
* コミットを行う。
|
85
|
-
*/
|
86
|
-
public void commit() {
|
87
|
-
try {
|
88
|
-
con.commit();
|
89
|
-
} catch (SQLException e) {
|
90
|
-
//logger.warn("", e);
|
91
|
-
}
|
92
|
-
}
|
93
|
-
|
94
|
-
/*
|
95
|
-
* 認証ログ登録SQLのパラメータをセットする。
|
96
|
-
*/
|
97
|
-
public boolean insertAuth(Map authLog){
|
98
|
-
try {
|
99
|
-
if(addr == null){
|
100
|
-
addr = InetAddress.getLocalHost();
|
101
|
-
}
|
102
|
-
// 各カラムに登録するデータをセット
|
103
|
-
int companyId = Integer.valueOf(sysResource.getString("companyid.value"));
|
104
|
-
String date = authLog.get("DATE").toString();
|
105
|
-
java.util.Date dateTime = DateUtil.toCalendar(date).getTime();
|
106
|
-
Timestamp sqlDate = new Timestamp(dateTime.getTime());
|
107
|
-
pstmtAuthBatch.setInt(1,companyId);
|
108
|
-
pstmtAuthBatch.setTimestamp(2, sqlDate);
|
109
|
-
pstmtAuthBatch.setString(3, authLog.get("USERID").toString());
|
110
|
-
pstmtAuthBatch.setString(4, authLog.get("CLIENTIP").toString());
|
111
|
-
pstmtAuthBatch.setString(5, addr.getHostName());
|
112
|
-
pstmtAuthBatch.setString(6, authLog.get("STATUS").toString());
|
113
|
-
|
114
|
-
pstmtAuthBatch.addBatch();
|
115
|
-
} catch (SQLException e) {
|
116
|
-
e.printStackTrace();
|
117
|
-
try {
|
118
|
-
con.rollback();
|
119
|
-
} catch (SQLException e1) {
|
120
|
-
e1.printStackTrace();
|
121
|
-
}
|
122
|
-
} catch (UnknownHostException e1) {
|
123
|
-
e1.printStackTrace();
|
124
|
-
}
|
125
|
-
return false;
|
126
|
-
}
|
127
|
-
|
128
|
-
/*
|
129
|
-
* 認証ログ登録SQLをセットする。
|
130
|
-
*/
|
131
|
-
public void setAuthQuery(){
|
132
|
-
String query = "INSERT INTO authentication_log(companyId,date,login_id,access_ip,host_name,status) VALUES (?,?,?,?,?,?)";
|
133
|
-
try {
|
134
|
-
pstmtAuthBatch = con.prepareStatement(query);
|
135
|
-
} catch (SQLException e) {
|
136
|
-
try {
|
137
|
-
con.rollback();
|
138
|
-
} catch (SQLException e1) {
|
139
|
-
e1.printStackTrace();
|
140
|
-
}
|
141
|
-
e.printStackTrace();
|
142
|
-
}
|
143
|
-
}
|
144
|
-
|
145
|
-
/*
|
146
|
-
* 認証ログ登録SQLを実行する。
|
147
|
-
*/
|
148
|
-
public boolean executeAuthBatch(){
|
149
|
-
// SQL文を発行し、結果を取得
|
150
|
-
try {
|
151
|
-
int[] numInsert = pstmtAuthBatch.executeBatch();
|
152
|
-
excuteAuthCount = excuteAuthCount + numInsert.length;
|
153
|
-
} catch (SQLException e) {
|
154
|
-
try {
|
155
|
-
con.rollback();
|
156
|
-
} catch (SQLException e1) {
|
157
|
-
e1.printStackTrace();
|
158
|
-
}
|
159
|
-
e.printStackTrace();
|
160
|
-
}
|
161
|
-
// データ作成が正常か判定
|
162
|
-
return true;
|
163
|
-
}
|
164
|
-
|
165
|
-
/*
|
166
|
-
* アクセスログ登録SQLをセットする。
|
167
|
-
*/
|
168
|
-
public void setQuery(){
|
169
|
-
String query = "INSERT INTO access_log(companyId,date,login_id,access_ip,host_name,access_url,forward_time,httpstatus,user_agent,referer) VALUES (?,?,?,?,?,?,?,?,?,?)";
|
170
|
-
try {
|
171
|
-
pstmtBatch = con.prepareStatement(query);
|
172
|
-
} catch (SQLException e) {
|
173
|
-
try {
|
174
|
-
con.rollback();
|
175
|
-
} catch (SQLException e1) {
|
176
|
-
e1.printStackTrace();
|
177
|
-
}
|
178
|
-
e.printStackTrace();
|
179
|
-
}
|
180
|
-
}
|
181
|
-
|
182
|
-
/*
|
183
|
-
* アクセスログ登録SQLのパラメータをセットする。
|
184
|
-
*/
|
185
|
-
public boolean insertAccessBatch(Map accessLog){
|
186
|
-
// ステートメント生成
|
187
|
-
try {
|
188
|
-
if(addr == null){
|
189
|
-
addr = InetAddress.getLocalHost();
|
190
|
-
}
|
191
|
-
// 各カラムに登録するデータをセット
|
192
|
-
int companyId = Integer.valueOf(sysResource.getString("companyid.value"));
|
193
|
-
String date = accessLog.get("DATE").toString();
|
194
|
-
java.util.Date dateTime = DateUtil.toCalendar(date).getTime();
|
195
|
-
Timestamp sqlDate = new Timestamp(dateTime.getTime());
|
196
|
-
pstmtBatch.setInt(1,companyId);
|
197
|
-
pstmtBatch.setObject(2, sqlDate);
|
198
|
-
pstmtBatch.setObject(3, accessLog.get("USERID"));
|
199
|
-
pstmtBatch.setObject(4, accessLog.get("CLIENTIP"));
|
200
|
-
pstmtBatch.setObject(5, addr.getHostName());
|
201
|
-
pstmtBatch.setObject(6, accessLog.get("REQUEST"));
|
202
|
-
pstmtBatch.setObject(7, accessLog.get("PROCESSINGTIME"));
|
203
|
-
pstmtBatch.setObject(8, accessLog.get("STATUS"));
|
204
|
-
pstmtBatch.setObject(9, accessLog.get("AGENT"));
|
205
|
-
pstmtBatch.setObject(10, accessLog.get("REFERER"));
|
206
|
-
|
207
|
-
pstmtBatch.addBatch();
|
208
|
-
|
209
|
-
} catch (SQLException e) {
|
210
|
-
try {
|
211
|
-
con.rollback();
|
212
|
-
} catch (SQLException e1) {
|
213
|
-
e1.printStackTrace();
|
214
|
-
}
|
215
|
-
e.printStackTrace();
|
216
|
-
} catch (UnknownHostException e1) {
|
217
|
-
e1.printStackTrace();
|
218
|
-
}
|
219
|
-
return false;
|
220
|
-
}
|
221
|
-
|
222
|
-
/*
|
223
|
-
* アクセスログ登録SQLを実行する。
|
224
|
-
*/
|
225
|
-
public boolean executeBatch() throws SQLException{
|
226
|
-
// SQL文を発行し、結果を取得
|
227
|
-
try {
|
228
|
-
int [] numInsert = pstmtBatch.executeBatch();
|
229
|
-
excuteCount = excuteCount + numInsert.length;
|
230
|
-
} catch (SQLException e) {
|
231
|
-
try {
|
232
|
-
con.rollback();
|
233
|
-
} catch (SQLException e1) {
|
234
|
-
e1.printStackTrace();
|
235
|
-
throw e;
|
236
|
-
}
|
237
|
-
e.printStackTrace();
|
238
|
-
throw e;
|
239
|
-
}
|
240
|
-
// データ作成が正常か判定
|
241
|
-
return true;
|
242
|
-
}
|
243
|
-
|
244
|
-
/*
|
245
|
-
* 認可ログ登録SQLのパラメータをセットする。
|
246
|
-
*/
|
247
|
-
public boolean insertAgentAuth(Map agentAuthLog){
|
248
|
-
try {
|
249
|
-
if(addr == null){
|
250
|
-
addr = InetAddress.getLocalHost();
|
251
|
-
}
|
252
|
-
// 各カラムに登録するデータをセット
|
253
|
-
int companyId = Integer.valueOf(sysResource.getString("companyid.value"));
|
254
|
-
String date = agentAuthLog.get("DATE").toString();
|
255
|
-
java.util.Date dateTime = DateUtil.toCalendar(date).getTime();
|
256
|
-
Timestamp sqlDate = new Timestamp(dateTime.getTime());
|
257
|
-
pstmtAgentAuthBatch.setInt(1,companyId);
|
258
|
-
pstmtAgentAuthBatch.setTimestamp(2, sqlDate);
|
259
|
-
pstmtAgentAuthBatch.setString(3, agentAuthLog.get("USERID").toString());
|
260
|
-
pstmtAgentAuthBatch.setString(4, addr.getHostName());
|
261
|
-
pstmtAgentAuthBatch.setObject(5, agentAuthLog.get("REQUEST"));
|
262
|
-
pstmtAgentAuthBatch.setString(6, agentAuthLog.get("STATUS").toString());
|
263
|
-
|
264
|
-
pstmtAgentAuthBatch.addBatch();
|
265
|
-
} catch (SQLException e) {
|
266
|
-
e.printStackTrace();
|
267
|
-
try {
|
268
|
-
con.rollback();
|
269
|
-
} catch (SQLException e1) {
|
270
|
-
e1.printStackTrace();
|
271
|
-
}
|
272
|
-
} catch (UnknownHostException e1) {
|
273
|
-
e1.printStackTrace();
|
274
|
-
}
|
275
|
-
return false;
|
276
|
-
}
|
277
|
-
|
278
|
-
/*
|
279
|
-
* 認可ログ登録SQLをセットする。
|
280
|
-
*/
|
281
|
-
public void setAgentAuthQuery(){
|
282
|
-
String query = "INSERT INTO authorization_log(companyId,date,login_id,host_name,access_url,status) VALUES (?,?,?,?,?,?)";
|
283
|
-
try {
|
284
|
-
pstmtAgentAuthBatch = con.prepareStatement(query);
|
285
|
-
} catch (SQLException e) {
|
286
|
-
try {
|
287
|
-
con.rollback();
|
288
|
-
} catch (SQLException e1) {
|
289
|
-
e1.printStackTrace();
|
290
|
-
}
|
291
|
-
e.printStackTrace();
|
292
|
-
}
|
293
|
-
}
|
294
|
-
|
295
|
-
/*
|
296
|
-
* 認可ログ登録SQLを実行する。
|
297
|
-
*/
|
298
|
-
public boolean executeAgentAuthBatch(){
|
299
|
-
// SQL文を発行し、結果を取得
|
300
|
-
try {
|
301
|
-
int[] numInsert = pstmtAgentAuthBatch.executeBatch();
|
302
|
-
excuteAgentAuthCount = excuteAgentAuthCount + numInsert.length;
|
303
|
-
} catch (SQLException e) {
|
304
|
-
try {
|
305
|
-
con.rollback();
|
306
|
-
} catch (SQLException e1) {
|
307
|
-
e1.printStackTrace();
|
308
|
-
}
|
309
|
-
e.printStackTrace();
|
310
|
-
}
|
311
|
-
// データ作成が正常か判定
|
312
|
-
return true;
|
313
|
-
}
|
314
|
-
|
315
|
-
}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
CREATE TABLE IF NOT EXISTS `authentication_log` (
|
2
|
-
`id` int(10) NOT NULL AUTO_INCREMENT,
|
3
|
-
`companyId` bigint(20) NOT NULL,
|
4
|
-
`date` datetime NOT NULL,
|
5
|
-
`login_id` varchar(75) NOT NULL,
|
6
|
-
`access_ip` varchar(15) NOT NULL,
|
7
|
-
`host_name` varchar(75) NOT NULL,
|
8
|
-
`status` varchar(50) NOT NULL,
|
9
|
-
PRIMARY KEY (`id`)
|
10
|
-
);
|
11
|
-
|
12
|
-
CREATE TABLE IF NOT EXISTS `access_log` (
|
13
|
-
`id` int(10) NOT NULL AUTO_INCREMENT,
|
14
|
-
`companyId` bigint(20) NOT NULL,
|
15
|
-
`date` datetime NOT NULL,
|
16
|
-
`login_id` varchar(75) NOT NULL,
|
17
|
-
`access_ip` varchar(15) NOT NULL,
|
18
|
-
`host_name` varchar(75) NOT NULL,
|
19
|
-
`access_url` varchar(2048) NOT NULL,
|
20
|
-
`forward_time` int(5) NOT NULL,
|
21
|
-
`httpstatus` int(3) NOT NULL,
|
22
|
-
`user_agent` varchar(512) NOT NULL,
|
23
|
-
`referer` varchar(2048),
|
24
|
-
PRIMARY KEY (`id`)
|
25
|
-
);
|
26
|
-
|
27
|
-
CREATE TABLE IF NOT EXISTS `authorization_log` (
|
28
|
-
`id` int(10) NOT NULL AUTO_INCREMENT,
|
29
|
-
`companyId` bigint(20) NOT NULL,
|
30
|
-
`date` datetime NOT NULL,
|
31
|
-
`login_id` varchar(75) NOT NULL,
|
32
|
-
`host_name` varchar(75) NOT NULL,
|
33
|
-
`access_url` varchar(2048) NOT NULL,
|
34
|
-
`status` varchar(50) NOT NULL,
|
35
|
-
PRIMARY KEY (`id`)
|
36
|
-
);
|