Removed setold, setnoxious actions; limited clean action to Notifications table; other small changes

This commit is contained in:
pezcurrel 2022-12-01 05:43:21 +01:00
parent 92cee555c7
commit 9bf4128d29

View file

@ -16,20 +16,15 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
define('N',"\n");
const N="\n";
$opts=array(
'setold'=>false,
'setold_new_period'=>30*24*60*60,// se un'istanza è nuova, dopo 30 giorni non lo è più
'setnoxious'=>false,
'shuffle'=>false,
'updstats'=>false,
// Warning reminder: don't "clean" InstChecks table because its data is necessary to determine if an instance is dead
'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
);
$help='mustool.php
@ -38,18 +33,13 @@ $help='mustool.php
SINOSSI
mustool.php [opzioni] <azione[ azione...]>
AZIONI
setold
setta New=0 per le istanze che non sono più nuove.
setnoxious
Setta Noxious=1 nella tabella Instances per le istanze presenti nella
tabella Noxious, Noxious=0 per quelle che non lo sono.
shuffle
Randomizza la lista delle istanze (i valori della colonna RPos).
updstats
Aggiorna le statistiche sul sito.
clean
Cancella i record più vecchi di '.$opts['clean_before_weeks'].' settimane
dalle tabelle '.implode(', ',array_keys($opts['clean_tables'])).'.
dalla tabella Notifications.
optimize
Ottimizza le tabelle del database.
OPZIONI
@ -73,12 +63,6 @@ for ($i=1; $i<$argc; $i++) {
mexit('Lopzione «'.$argv[$i].'» è sconosciuta (usa «-h» per vedere la guida).'.N,1);
break;
}
} elseif ($argv[$i]=='setold') {
$dosome=true;
$opts['setold']=true;
} elseif ($argv[$i]=='setnoxious') {
$dosome=true;
$opts['setnoxious']=true;
} elseif ($argv[$i]=='shuffle') {
$dosome=true;
$opts['shuffle']=true;
@ -116,20 +100,11 @@ $link=@mysqli_connect($iniarr['db_host'],$iniarr['db_admin_name'],$iniarr['db_ad
mysqli_set_charset($link,'utf8mb4')
or mexit(__LINE__.': '.mysqli_error($link).N,1);
if ($opts['setold']) {
/*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['setold_new_period']) or mexit(__LINE__.': '.mysqli_error($link).N,2);
echo('fatto! Righe coinvolte: '.mysqli_affected_rows($link).N);
}
if ($opts['setnoxious']) {
echo('Setto Noxious=1 nella tabella Instances per le istanze listate nella tabella Noxious ... ');
mysqli_query($link,'UPDATE Instances SET Noxious=1 WHERE URI IN (SELECT Domain FROM Noxious)') or mexit(__LINE__.': '.mysqli_error($link).N,2);
echo('fatto! Righe coinvolte: '.mysqli_affected_rows($link).N);
echo('Setto Noxious=0 nella tabella Instances per le istanze non listate nella tabella Noxious ... ');
mysqli_query($link,'UPDATE Instances SET Noxious=0 WHERE URI NOT IN (SELECT Domain FROM Noxious)') or mexit(__LINE__.': '.mysqli_error($link).N,2);
echo('fatto! Righe coinvolte: '.mysqli_affected_rows($link).N);
}
}*/
if ($opts['shuffle']) {
echo('Randomizzo i valori della colonna RPos ... ');
@ -216,12 +191,9 @@ if ($opts['updstats']) {
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);
echo('Cancello i record più vecchi di '.$opts['clean_before_weeks'].' settimane dalla tabella Notifications...'.N);
$res=mysqli_query($link,'DELETE FROM Notifications WHERE Microtime < '.$ago) or mexit(__LINE__.': '.mysqli_error($link).N,2);
echo('Fatto! Righe cancellate: '.mysqli_affected_rows($link).'.'.N);
}
if ($opts['optimize']) {