Qualche giorno fa mi è arrivata una mail automatica dal mio provider di hosting, che mi segnalava la prossimità dell’esaurimento dello spazio su disco riservato al mio account…
3 GB di disco quasi pieni?!? La cosa mi è sembrata subito assurda, perchè un sito web con blog e alcune pagine non può occupare tutto questo spazio!! Ho pensato che probabilmente mi sfuggiva qualche particolare del comportamento di Rails…
ebbene, ho scoperto che 2 GB di spazio erano occupati dai file temporanei che Rails utilizza per memorizzare le sessioni di ogni utente che accede al sito!
Questi file dal nome ruby_sess.QUALCOSA sono contenuti nella directory tmp/sessions all’interno della root dell’applicazione Rails.
File temporanei, che nella maggior parte delle volte sono utili solo per pochi secondi, il tempo di caricare una pagina, dopo di che andrebbero eliminati. Certo, con cautela, perchè alcuni possono essere realmente importanti (come le sessioni degli utenti attualmente connessi al sito).
La soluzione che ho adottato è stata quella di cancellare giornalmente, nottetempo, tutte le sessioni più vecchie di 2 giorni, giusto per essere sicuro di non togliere il pavimento da sotto i piedi di nessuno :)
Ho schedulato su cron questa operazione di pulizia, con un semplice comando:
$ crontab -e
per entrare nel crontab in modalità modifica, e poi ho aggiunto la riga
0 4 * * * find ~/rails-app/tmp/sessions -type f -name 'ruby_sess*'
-ctime +2 -exec rm -f {} \;
(tutto su una riga): in questo modo ogni notte alle 4:00 viene avviata una ricerca su tutti i file (-type f) nella directory ~/rails-app/tmp/sessions il cui nome inizia con il prefisso ‘ruby_sess’, che siano più vecchi di 2 giorni (-ctime +2). Ogni risultato di questa ricerca viene finalmente eliminato (-exec rm -f {} \;)
Sospiro di sollievo! =)











