GNU/Linux >> Znalost Linux >  >> Ubuntu

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

Snažím se smazat všechny soubory a složky v /tmp dir, které jsou starší než jeden den.

Vím, že mám smazat všechny soubory a složky, které musím udělat

rm -rf *

Ale nejsem si jistý, jak jinak najdu všechny soubory a složky starší než jeden den, abych je smazal a vložil tam cron.

Přijatá odpověď:

Nejprve použijte find pro výběr těchto souborů:

find /tmp -mmin +1440

najde soubory, které byly změněny před více než 1440 minutami. (Existuje možnost použít dny místo minut, ale zaokrouhluje se nahoru a +1 bude bohužel znamenat 2 dny nebo více. Viz upozornění níže).

Zkuste to, a pokud jste spokojeni, že to najde správné soubory, smažte je najednou:

find /tmp -mmin +1440 -delete

Viz man find pro další možnosti (čas poslední změny stavu, čas přístupu).

Oznámení o použití -mtime +1 :

V člověku najít

Je tam uvedeno:

-mtime n

Data souboru byla naposledy upravena před n*24 hodinami.

Ale také se tam píše:

Podívejte se na komentáře pro -atime abyste pochopili, jak zaokrouhlování ovlivňuje
interpretaci časů úprav souboru.

Komentáře pro -atime řekni:

Když zjistíte, před kolika 24hodinovými obdobími byl soubor naposledy
zpřístupněn, jakákoli zlomková část je ignorována, aby odpovídala -atime +1 ,
soubor musí být zpřístupněn alespoň před dvěma dny.

Jinými slovy, -mtime může počítat pouze v jednotkách 24 hodin nebo jeden den, každý až do -mtime +1 znamená to přesně více než jeden den alespoň o jeden den (tj. dva dny+)

-mmin na druhou stranu umí počítat v minutách. Pokud je tedy důležitá přísná přesnost, pak -mmin +1440 ( 1440 minut =1 den ) lze použít místo -mtime +1


Ubuntu
  1. Vypsat soubory, které mají více než 100 řádků v adresáři a ve všech jeho podadresářích?

  2. Jak vytvořit Cron Job, která automaticky odstraní soubory, které jsou starší než 30 dní?

  3. Kdy mám použít /dev/shm/ a kdy /tmp/?

  1. Najděte všechny soubory starší než jedna minuta

  2. Smazat celý /var/log?

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

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

  2. Použijte Najít k nalezení určitého adresáře a odstranění všech souborů v něm kromě jednoho adresáře?

  3. Jak najít a odstranit soubory starší než určité časové období v Linuxu