CONNETTERE NAS AL RASPBERRY E DELETE FILES PERIODICAMENTE

Se avete la necessità di utilizzare un NAS, magari un pò vecchiotto, per registrare in continuo i video di sorveglianza, qui spiego una delle procedure per gestire i file con il Raspberry.
Se non avete la possibilità di abilitare, come sui NAS più recenti, la funzione di sovrascrittura dei file più vecchi vi troverete dopo un pò di tempo con Tera di byte occupati e il NAS che non registra più.
La soluzione è quella di cancellare periodicamente i file più vecchi. Per fare ciò si deve connettere il NAS al Raspberry (ad ogni boot) e predisporre un'istruzione per cancellare i file.

Punto uno: connettere il NAS

La procedura è banale e sul web si trovano decine di spiegazioni (magari non tutte precise!) ma se il vostro NAS è vecchio ed ha ancora, come protocollo massimo, SMB1, allora la faccenda è più complicata. Infatti non è solo Windows ad avere deprecato SMB1 ma anche Linux ad oggi.
Per la video sorveglianza, magari solo casalinga, è spesso utilizzato il vecchio NAS, dopo avere sostituito quello principale per i backup con uno nuovo di zecca (SMB3).

Creiamo la directory su cui monteremo il NAS che vogliamo gestire dal Raspberry (il nome del mio esempio è NAS e sarà la sottodirectory della classica /mnt):

sudo mkdir /mnt/NAS

Ora diamo l'istruzione per montare il NAS sul Raspberry:

sudo mount -t cifs -o user="mio user",password="xxxxxx",vers=1.0,rw,file_mode=0777,dir_mode=0777 //IP.xxx.xxx.xxx/dir /mnt/NAS

Nell'istruzione sopra evidenzio il filesystem CIFS (potrebbe essere anche NFS), lo user e la password sono quelli del NAS.
Attenzione a "vers=1.0": questo è il modo per fare accettare un NAS con SMB1 a Linux nel 2022.
Dove vedete IP.xxx.xxx.xxx è l'indirizzo IP del NAS. La "dir" è riferita alla directory che avete deciso di condividere, montare sul Raspberry. Deve essere la directory contente i files (anche organizzati in sottodirectory) che vorrete cancellare.
L'ultima istruzione è la directory che avete creato prima e su cui monteremo il NAS.

A questo punto non ci resta che fare un semplice "df -h" e dovremmo vedere anche il nostro NAS.

Punto due: fare l'auto mount del NAS al boot

Ci sono due strade (forse di più, ma io ho verificato queste) per impostare l'auto mount del NAS al boot: modificare fstab o usare crontab.
Nel mio caso il comando di fstab non funziona, forse per la questione SMB1. Comunque mettendo l'istruzione nel crontab è ok.
Bisogna entrare nel crontab con sudo (root) in editing (-e). Se non avete un'istruzione che si avvia al boot basta mettere questa istruzione all'inizio:

@reboot mount -t cifs -o user="mio user",password="xxxxxx",vers=1.0,rw,file_mode=0777,dir_mode=0777 //IP.xxx.xxx.xxx/dir /mnt/NAS

Nel caso abbiate già un'istruzione di @reboot dovrete aggiungere questa di mount con &&:

@reboot "..istruzione già presente..." && mount -t cifs -o user="mio user",password="xxxxxx",vers=1.0,rw,file_mode=0777,dir_mode=0777 //IP.xxx.xxx.xxx/dir /mnt/NAS

Punto tre: cancellare i file più vecchi di.....

Per cancellare i file più vecchi di una certa data, una volta montato il NAS sul Raspberry, l'istruzione è molto semplice.

find /mnt/NAS/"eventuale directory"* -type f -mtime +30 -print
Questa istruzione stampa a video i file che trova. Non serve "sudo". Ovviamente al posto di +30 (più vecchi di 30 giorni) potete mettere quello che volete.
Vedrete i file che potrebbero essere cancellati, meglio verificare prima di procedere.

sudo find /mnt/NAS/"eventuale directory"* -type f -mtime +30 -exec rm -f {} \;

Questa istruzione aggiunge la vera e propria cancellazione dei file. Ricordarsi sudo, sennò non fa niente

Ora non resta che mettere questa istruzione in crontab e lanciarlo quando volete (io lo faccio una volta al giorno la notte).