Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISPConfig
ISPConfig 3
Commits
e265dcb4
Commit
e265dcb4
authored
Dec 14, 2008
by
vogelor
Browse files
Fixed a bug in the jobqueue - viewer
Fixed a bug in deleting old record from the syslog and the sys_datalog
parent
5c497021
Changes
2
Hide whitespace changes
Inline
Side-by-side
interface/web/monitor/datalog_list.php
View file @
e265dcb4
...
...
@@ -50,7 +50,7 @@ $servers = $app->db->queryAllRecords("SELECT server_id, updated FROM server");
$sql
=
'('
;
foreach
(
$servers
as
$s
)
{
$sql
.
=
" (datalog_id > "
.
$s
[
'updated'
]
.
" AND server_id = "
.
$s
[
'server_id'
]
.
")
AND
"
;
$sql
.
=
" (datalog_id > "
.
$s
[
'updated'
]
.
" AND server_id = "
.
$s
[
'server_id'
]
.
")
OR
"
;
}
$sql
=
substr
(
$sql
,
0
,
-
4
);
$sql
.
=
')'
;
...
...
server/cron_daily.php
View file @
e265dcb4
...
...
@@ -126,18 +126,45 @@ foreach($records as $rec) {
}
#######################################################################################################
// Cleanup logs in database
// Cleanup logs in
master
database
(only the "master-server")
#######################################################################################################
//* Keep 7 days in sys_log
$tstamp
=
time
()
-
(
60
*
60
*
24
*
7
);
$sql
=
"DELETE FROM sys_log WHERE tstamp <
$tstamp
AND server_id != 0"
;
$app
->
db
->
query
(
$sql
);
//* Keep 7 days in sys_datalog
$tstamp
=
time
()
-
(
60
*
60
*
24
*
7
);
$sql
=
"DELETE FROM sys_datalog WHERE tstamp <
$tstamp
AND server_id != 0"
;
$app
->
db
->
query
(
$sql
);
if
(
$app
->
dbmaster
==
$app
->
db
)
{
/** 7 days */
$tstamp
=
time
()
-
(
60
*
60
*
24
*
7
);
/*
* Keep 7 days in sys_log
* (we can delete the old items, because if they are OK, they don't interrest anymore
* if they are NOT ok, the server will try to process them in 1 minute and so the
* error appears again after 1 minute. So it is no problem to delete the old one!
*/
$sql
=
"DELETE FROM sys_log WHERE tstamp <
$tstamp
AND server_id != 0"
;
$app
->
dbmaster
->
query
(
$sql
);
/*
* The sys_datalog is more difficult.
* 1) We have to keet ALL entries with
* server_id=0, because they depend on ALL servers (even if they are not
* actually in the system (and will be insered in 3 days or so).
* 2) We have to keey ALL entries which are not actually precessed by the
* server never mind how old they are!
*/
/* First we need all servers and the last sys_datalog-id they processed */
$sql
=
"SELECT server_id, updated FROM server ORDER BY server_id"
;
$records
=
$app
->
dbmaster
->
queryAllRecords
(
$sql
);
/* Then delete server by server */
foreach
(
$records
as
$server
)
{
$sql
=
"DELETE FROM sys_datalog WHERE tstamp < "
.
$tstamp
.
" AND server_id != 0 "
.
// to be more secure!
" AND server_id = "
.
intval
(
$server
[
'server_id'
])
.
" AND datalog_id < "
.
intval
(
$server
[
'updated'
]);
// echo $sql . "\n";
$app
->
dbmaster
->
query
(
$sql
);
}
}
die
(
"finished.
\n
"
);
?>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment