GNU/Linux >> Znalost Linux >  >> Linux

najít a odstranit soubor nebo složku starší než x dní

Můžete použít tento kus kódu

find /tmp/* -mtime +7 -exec rm {} \;

Vysvětlení

První argument je cesta k souborům. Může to být cesta, adresář nebo zástupný znak jako ve výše uvedeném příkladu. Doporučil bych použít úplnou cestu a ujistěte se, že příkaz spouštíte bez exec rm, abyste se ujistili, že získáte správné výsledky.

Druhý argument, -mtime, se používá k určení počtu dní, kdy je soubor starý. Pokud zadáte +7, najde soubory starší než 7 dní.

Třetí argument, -exec, vám umožňuje předat příkaz, jako je rm. {}; na konci je vyžadováno ukončení příkazu.

Zdroj:http://www.howtogeek.com/howto/ubuntu/delete-files-older-than-x-days-on-linux/

Chcete-li smazat složky, po vyprázdnění v nich můžete rmdir místo rm v části kódu, také pokud chcete vidět pouze adresáře, které můžete přidat

-type d

na část kódu, například níže:

find /tmp/*/* -mtime +7 -type d -exec rmdir {} \;

Jednodušeji to uděláte

find /tmp/* -mtime +7 -exec rm -rf {} \; 

Což odstraní soubory a adresáře


Linux
  1. Jak odstranit adresář a složku v Linuxu?

  2. Proč Find -mtime +1 vrací pouze soubory starší než 2 dny?

  3. Smazat všechny soubory a složky v /tmp starší než jeden den?

  1. najít a zkopírovat soubor pomocí Bash

  2. Linux odstranit soubor s velikostí 0

  3. Jak mohu vytvořit soubor v každé složce?

  1. Jak smazat všechny soubory starší než X počet dní v Linuxu?

  2. Bezvadné mazání souborů starších než 30 dní

  3. Cron úloha smazat všechny soubory starší než 7 dní s příponou v konkrétní složce - nefunguje