GNU/Linux >> Znalost Linux >  >> Linux

Jak odstranit soubory starší než N dní pomocí tmpreaper v Linuxu

tmpreaper je nástroj pro odstranění souborů, ke kterým není po určitou dobu přístup.

V desktopových distribucích Linuxu je to dobré pro čištění adresářů, jako je „~/Downloads“, kde se soubory shromažďují za určitou dobu.

V linuxových serverových distribucích je to dobré pro čištění starých souborů protokolu nebo záložních souborů, které již nejsou potřeba.

tmpreaper rekurzivně prohledává a odstraňuje soubory a adresáře, ke kterým se po určitou dobu nepřistupuje.

UPOZORNĚNÍ: Než nainstalujete tmpreaper a začnete si s ním hrát, ujistěte se, že rozumíte důsledkům spuštění tmpreaperu, protože z vašeho systému smaže všechny soubory, které odpovídají daným kritériím. NEPOUŽÍVEJTE tmpreaper na / (kořenový adresář), který by mohl smazat kritické soubory, které jsou nutné k udržení vašeho systému v chodu. Do programu tmpreaper není zabudována žádná ochrana, která by vám bránila ve spuštění v kořenovém adresáři, protože by bylo obtížné používat tmpreaper v chrootovaném prostředí.

1. Nainstalujte tmpreaper

Na systémech založených na debianu, jako je Ubuntu, použijte apt-get:

$ sudo apt-get install tmpreaper

V systémech založených na RPM, jako je CentOS a RedHat, použijte yum:

$ sudo yum -y install tmpreaper

Syntaxe příkazu Tmpreaper:

$ tmpreaper [options]  <time_spec> <dirs>

2. Odebrat soubory, které jsou o N dní starší

Chcete-li odstranit soubory, které jsou o 5 dní starší, použijte jako časový údaj „5d“.

Například následující příkaz odstraní soubory ze složky ~/Downloads, ke kterým se za posledních 5 dní nepřistoupilo.

$ tmpreaper 5d ~/Downloads

3. Odebrat soubory, které nebyly změněny po dobu N dnů

Ve výchozím nastavení tmpreaper odstraní soubory na základě „Doby přístupu“. Můžete použít volbu „-m“, abyste řekli tmpreaperu, aby smazal soubory na základě „času úpravy“.

Následující příkaz vymaže soubory, které nebyly změněny po dobu 5 dnů ve složce Stažené soubory.

$ tmpreaper -m 5d ~/Downloads

Pro parametr time_spec

můžete také použít následující znaky
  • d – po dobu dnů
  • h – po dobu hodin
  • m – minuty
  • s – na sekundy

4. Odeberte symbolické odkazy pomocí -s

Použijte volbu -s k odstranění symbolických odkazů, nejen souborů a adresářů.

Kromě vyčištění souborů a adresářů následující příkaz také vyčistí symbolické odkazy, které odpovídají daným časovým specifikacím.

$ tmpreaper -s 5h ~/Downloads

5. Odeberte všechny typy souborů pomocí -a Option

Použijte volbu -a k odstranění všech typů souborů, nejen běžných souborů, adresářů a symbolických odkazů.

$ tmpreaper -a 5m ~/Downloads

6. Proveďte Dryrun – Test na odstranění pomocí volby -t

Pomocí volby -t otestujte, jaké soubory budou smazány.

To je velmi užitečné, když to spouštíte proti důležitému adresáři a chcete přesně určit, jaké soubory budou smazány, než se skutečně odstraní.

Tato možnost neodstraní soubory.

$ tmpreaper -t 5d ~/Downloads
(PID 5415) Pretending to clean up directory `/home/lakshmanan/Downloads'.
(PID 5416) Pretending to clean up directory `.tmp_versions'.
(PID 5416) Back from recursing down `.tmp_versions'.

7. Vynutit odstranění souborů pomocí volby -f

Použijte volbu -f k vynucení odstranění souborů. Soubory vlastněné aktuálním uživatelem (EUID) bez oprávnění pro zápis se normálně neodstraňují. Použití -f odstraní také tyto soubory.

$ tmpreaper -f 5h ~/Downloads

8. Neodstraňujte soubory odpovídající vzoru pomocí možnosti –protect

Použijte –protect ‘’, abyste ochránili soubory odpovídající vzoru před smazáním.

Například následující příkaz odstraní všechny soubory kromě souborů „.c“.

$ tmpreaper  --protect '*.c' -t 5h ~/my_prg
Entry matching `--protect' pattern skipped. `hello.c'
Pretending to remove file `./.hello.o'.

9. Použití tmpreaper v Cronu

Ve výchozím nastavení se při instalaci tmpreaper vloží záznam do crontab ( /etc/cron.daily/tmpreaper ). Přečte volby z /etc/tmpreaper.conf a provede příkaz tmpreaper na základě těchto voleb.

/etc/tmpreaper.conf je samovysvětlující a snadno pochopitelný. Ve výchozím nastavení odstraní soubory, které jsou v /tmp staré 7 dní, očekávají se některé typy souborů. Pokud to plánujete použít, odeberte řádek ‚SHOWVARNING=true‘ z /etc/tmpreaper.conf.

Jakmile je řádek odstraněn, tmpreaper bude denně běžet, aby vyčistil zadané adresáře bez zásahu uživatele.


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

  2. Jak najít soubory upravené za posledních 30 dní v Linuxu?

  3. Jak třídit soubory v Linuxu pomocí příkazu Sort

  1. Jak provádět řádkové porovnání souborů v Linuxu pomocí příkazu diff

  2. Jak spravovat soubory protokolu pomocí Logrotate v Linuxu

  3. Jak v Linuxu odstraníte soubory starší než konkrétní datum?

  1. vypočítat celkový použitý prostor na disku soubory staršími než 180 dní pomocí funkce find

  2. Jak vytvořit tar pro soubory starší než 7 dní pomocí skriptování linuxového shellu

  3. Linux:pomocí funkce find vyhledejte soubory starší než <datum>