Added “clean” action
This commit is contained in:
parent
9394c0cb29
commit
55e0c82eee
1 changed files with 23 additions and 3 deletions
|
@ -20,12 +20,16 @@ define('N',"\n");
|
|||
|
||||
$opts=array(
|
||||
'setold'=>false,
|
||||
'setold_new_period'=>30*24*60*60,// se un'istanza è nuova, dopo 30 giorni non lo è più
|
||||
'setblack'=>false,
|
||||
'shuffle'=>false,
|
||||
'updstats'=>false,
|
||||
'clean'=>false,
|
||||
// Attenzione: non settare questo qua sotto a meno di 12 settimane, perché sul sito instances.php pesca le ultime 12 settimane dai record di "InstActivity"
|
||||
'clean_before_weeks'=>24,
|
||||
'clean_tables'=>['InstActivity'=>'Week', 'InstChecks'=>'Time', 'Notifications'=>'Microtime'],
|
||||
'optimize'=>false,
|
||||
'deadline'=>60*24*60*60,// se un'istanza non risponde da 60 giorni dichiararla morta
|
||||
'newline'=>30*24*60*60,// se un'istanza è nuova, dopo 30 giorni non lo è più
|
||||
// 'deadline'=>60*24*60*60,// se un'istanza non risponde da 60 giorni dichiararla morta
|
||||
);
|
||||
|
||||
$help='mustool.php
|
||||
|
@ -43,6 +47,8 @@ $help='mustool.php
|
|||
Randomizza la lista delle istanze (i valori della colonna RPos).
|
||||
updstats
|
||||
Aggiorna le statistiche sul sito.
|
||||
clean
|
||||
Cancella i record più vecchi di
|
||||
optimize
|
||||
Ottimizza le tabelle del database.
|
||||
OPZIONI
|
||||
|
@ -78,6 +84,9 @@ for ($i=1; $i<$argc; $i++) {
|
|||
} elseif ($argv[$i]=='updstats') {
|
||||
$dosome=true;
|
||||
$opts['updstats']=true;
|
||||
} elseif ($argv[$i]=='clean') {
|
||||
$dosome=true;
|
||||
$opts['clean']=true;
|
||||
} elseif ($argv[$i]=='optimize') {
|
||||
$dosome=true;
|
||||
$opts['optimize']=true;
|
||||
|
@ -108,7 +117,7 @@ mysqli_set_charset($link,'utf8mb4')
|
|||
|
||||
if ($opts['setold']) {
|
||||
echo('Setto New=0 per le istanze non più nuove ... ');
|
||||
mysqli_query($link,'UPDATE Instances SET New=0 WHERE '.time().'-FirstSeen > '.$opts['newline']) or mexit(__LINE__.': '.mysqli_error($link).N,2);
|
||||
mysqli_query($link,'UPDATE Instances SET New=0 WHERE '.time().'-FirstSeen > '.$opts['setold_new_period']) or mexit(__LINE__.': '.mysqli_error($link).N,2);
|
||||
echo('fatto! Righe coinvolte: '.mysqli_affected_rows($link).N);
|
||||
}
|
||||
|
||||
|
@ -203,6 +212,17 @@ if ($opts['updstats']) {
|
|||
echo('fatto! (righe inserite: '.$inserts.')'.N);
|
||||
}
|
||||
|
||||
if ($opts['clean']) {
|
||||
$affrows=0;
|
||||
$ago=time()-($opts['clean_before_weeks']*7*24*60*60);
|
||||
echo('Cancello i record più vecchi di '.$opts['clean_before_weeks'].' settimane dalle tabelle '.implode(', ',array_keys($opts['clean_tables'])).'...'.N);
|
||||
foreach ($opts['clean_tables'] as $table=>$tscol) {
|
||||
$res=mysqli_query($link,'DELETE FROM '.$table.' WHERE '.$tscol.' < '.$ago) or mexit(__LINE__.': '.mysqli_error($link).N,2);
|
||||
$affrows+=mysqli_affected_rows($link);
|
||||
}
|
||||
echo('Fatto! Righe cancellate: '.$affrows.'.'.N);
|
||||
}
|
||||
|
||||
if ($opts['optimize']) {
|
||||
echo('Ottimizzo le tabelle del database...'.N);
|
||||
$res=mysqli_query($link,'SHOW TABLES') or mexit(__LINE__.': '.mysqli_error($link).N,2);
|
||||
|
|
Loading…
Reference in a new issue