Il terminale linux, o shell per i più intimi, è un toccasana per molte operazioni, come per chi deve effettuare un debug accurato su qualsiasi sito, WordPress e non.
Ovviamente il servizio di hosting deve fornire questo servizio, e purtroppo non tutti lo fanno.
Poi bisogna almeno conoscere i comandi principali, districarsi tra le mille opzioni, ma per le cose più facili non è impossibile.
WordPress, WooCommerce, Yoast e diversi altri plugin, inoltre, mettono a disposizione delle operazioni da terminale, meglio note come WP-CLI, che spesso possono aiutare a risolvere problemi che altrimenti potrebbero risultare inaffrontabili, per i limiti intrinsechi dei pannelli di controllo.
Ora vediamo come sfruttare il terminale in un paio di operazioni molto utili anche per il debug dei siti WordPress, come cercare su tutto il server i files modificati negli ultimi x giorni, o cercare i files più grandi di una data dimensione.
Cercare con il terminale i files modificati negli ultimi x giorni.
Mettiamo il caso di avere il sospetto che una violazione sia stata perpetuata ad un sito nelle ultime 2 settimane, o che un malware possa aver compromesso dei files, con questo comando possiamo avere l’elenco dei files modificati negli ultimi 15 giorni:
find ./ -type f -mtime -15 -ls
Questo comando prevede che sia eseguito nella cartella da dove vuoi far partire la ricerca, potrebbe essere la radice del sito o una qualsiasi altra cartella. Se vuoi concentrare la ricerca a partire da una specifica cartella, basta che modifichi “./” con il percorso completo della cartella che ti interessa esplorare.
Per cambiare numero dei giorni, basta modificare “-15” con il valore desiderato.
Cercare con il terminale i files più grandi di una data dimensione.
Questa volta supponiamo di avere un servizio di hosting che continua ad inviare dei messaggi di alert, per aver quasi raggiunto la quota disco permessa, quando tu invece sai che il tuo sito non occupa più di tanto spazio.
Magari è un file di log degli errori php che scrive all’impazzata, magari per colpa di un plugin o un tema difettoso.
Se hai fortuna il file di log in questione è nella cartella principale del sito, ma potrebbe anche essere in una cartella del tema o del plugin difettoso, o peggio ancora nidificato in una qualche sottocartella che contiene lo script colpevole.
Questo comando toglie ogni dubbio, e ti elenca tutti i files più grandi di 100 MB:
find ./ -type f -size +100M -exec ls -lh {} \;
Per cambiare la soglia di ricerca, basta modificare “+100M” con il valore desiderato, es “+100k” per 100 Kb, o “+100G” per 100 GB.
Il comando esegue la ricerca nella cartella dove viene eseguito, e relative sottocartelle. Come per lo comando precedente, senza spostarti nel terminale puoi limitare la ricerca ad una specifica cartella (e relative sottocartelle) modificando “./” con il percorso della cartella desiderata.