IT Blok

kutilovo živobytí kromě www.msi-elektro.cz

Práce se soubory staršími než…

Pokud chceme přes příkazovou řádku linuxu přesunout, zkopírovat či smazat soubory v adresáři, které jsou starší než např. hodinu, můžeme použít návod z tohoto článku.

Máme např. soubory v adresáři /srv/data/prod/remote/zip_prac a chceme z nich vybrat ty, které jsou starší než 1 hodina a následně je přesunout do adresáře /srv/data/prod/local/zip_tmp, nebo je zkopírovat či smazat
Použijeme k tomu tyto příkazy:

– pro výpis souborů
$ find /srv/data/prod/remote/zip_prac/ -type f -mmin +60

– pro přesun souborů
$ find /srv/data/prod/remote/zip_prac/ -type f -mmin +60 -exec mv ‚{}‘ /srv/data/prod/local/zip_tmp/ ;

– pro zkopírování souborů (stejné jako předchozí, jen se použije cp namísto mv)
$ find /srv/data/prod/remote/zip_prac/ -type f -mmin +60 -exec cp ‚{}‘ /srv/data/prod/local/zip_tmp/ ;

– pro smazání souborů
$ find /srv/data/prod/remote/zip_prac/ -type f -mmin +60 -exec rm ‚{}‘ ;

Důležité je zadat jako typ „f„, což je typ „file“ aby byly vybrány opravdu soubory a ne třeba adresáře apod.

Jestli se nacházíme v shellu buď v cílové nebo zdrojové složce zadáme namísto cesty „.“
Tedy:
$ find . -type f -mmin +60 -exec mv ‚{}‘ /srv/data/prod/local/zip_tmp/ ;
Pokud se nacházíme v adresáři /srv/data/prod/remote/zip_prac.

Je to jednoduché a intuitivní. Příkaz „find“ má spoustu možností použití. A v některém dalším článku si ukážeme další.