Cestino di rete
Una delle cose in cui Samba e` superiore a Windows e` la possibilita` di usare un cestino sugli share di rete. Il cestino, ovvero il modulo recycle, puo` essere abilitato su uno share con questa configurazione minima:
vfs objects = recycle recycle:versions = Yes recycle:touch = Yes recycle:maxsize = 100000000 recycle:directory_mode = 0770
Questa configurazione consente di creare una directory ".recycle" nella root dello share, e di metterci dentro i files cancellati non piu` grandi di 10 mega (quelli piu` grandi vengono cancellati davvero) tenendone infinite copie nel caso in cui vengano cancellati piu` volte files con lo stesso nome. Dal momento che per esempio Office (e non solo) quando salva un file lo cancella e ricrea, di fatto questo consente di tenere tutte le copie del documento (una per ogni salvataggio). La directory ".recycle" viene creata con il modo specificato, i files invece appartengono all'utente che li ha cancellati. L' access time dei files viene settato al momento della cancellazione. Se si vuole settare il modify time, usare "recycle:touch_mtime" anziche` "recycle:touch".
Il cestino si riempie all'infinito, nulla cancella i files. Per questo e` opportuno usare uno script per tenerlo pulito. Ovviamente siccome questo script cancella mucchi di files, e` bene che venga collaudato bene prima di usarlo in produzione (in cron).
Questo e` lo script che uso al momento, per cancellare i files dopo 30 giorni dal loro inserimento nel cestino. Questo script usa l'access time e non il modify time, ma e` chiaro che non ci vuole molto (mtime anziche` atime) per usare il modify time, se si preferisce (ovviamente la configurazione del modulo recycle va fatta di conseguenza)
# questo cancella il recycle dentro oguna delle home directory. find /home/*/.recycle/ -atime +30 -type f -exec rm "{}" ";" # questo cancella il recycle da dentro tutte le subdir di /ud0 (dove ci sono gli share condivisi) find /ud0/*/.recycle/ -atime +30 -type f -exec rm "{}" ";"