Jak usunąć pliki lub foldery starsze niż 30 dni w BASH
Linux

Jak usunąć pliki lub foldery starsze niż 30 dni w BASH

Jak usunąć pliki lub foldery starsze niż 30 dni w BASH

Usuwanie starych plików i folderów jest niezbędne do utrzymania porządku i wolnego miejsca na dysku w systemach Linux. W tym poradniku pokażemy, jak za pomocą prostych komend w BASH usunąć pliki i foldery starsze niż 30 dni. Postępuj zgodnie z poniższymi krokami, aby zautomatyzować ten proces.

Jak usunąć pliki lub foldery starsze niż 30 dni w BASH
Jak usunąć pliki lub foldery starsze niż 30 dni w BASH

1. Wprowadzenie

BASH, czyli Bourne Again SHell, to popularna powłoka systemu Unix/Linux. Pozwala na wykonywanie skryptów i automatyzację wielu zadań, w tym zarządzanie plikami. Usuwanie starych plików za pomocą BASH jest prostym i skutecznym sposobem na utrzymanie porządku w systemie.

2. Znalezienie plików starszych niż 30 dni

Zanim zaczniemy usuwać pliki, musimy je zlokalizować. Do tego celu użyjemy komendy find, która jest bardzo potężna i elastyczna.

find /sciezka/do/katalogu -type f -mtime +30

Wyjaśnienie parametrów:

/sciezka/do/katalogu: Ścieżka do katalogu, w którym chcesz szukać plików.
-type f: Szukaj tylko plików (nie katalogów).
-mtime +30: Znajdź pliki, które były modyfikowane ponad 30 dni temu.

3. Usuwanie plików starszych niż 30 dni

Po upewnieniu się, że komenda find działa poprawnie i zwraca odpowiednie pliki, możemy dodać komendę -delete, aby usunąć te pliki:

find /sciezka/do/katalogu -type f -mtime +30 -delete

Ostrzeżenie: Komenda -delete nie pyta o potwierdzenie. Upewnij się, że ścieżka i warunki są poprawne, aby uniknąć przypadkowego usunięcia ważnych plików.

4. Usuwanie pustych katalogów

Jeśli chcesz również usuwać puste katalogi, możesz użyć następującej komendy:

find /sciezka/do/katalogu -type d -empty -delete

Wyjaśnienie parametrów:

-type d: Szukaj katalogów.
-empty: Znajdź puste katalogi.

5. Automatyzacja za pomocą crontab

Aby zautomatyzować ten proces, możemy dodać naszą komendę do crontab. Crontab to systemowy harmonogram zadań w Unix/Linux, który pozwala na uruchamianie skryptów w określonych odstępach czasu.

Czytaj  Linux w Medycynie: Zastosowanie w Badaniach i Diagnostyce

Otwórz edytor crontab:

crontab -e

Dodaj poniższą linię, aby uruchamiać skrypt codziennie o północy:

0 0 * * * find /sciezka/do/katalogu -type f -mtime +30 -delete

6. Usuwanie plików i katalogów jednocześnie

Jeśli chcesz usunąć zarówno pliki, jak i puste katalogi jednocześnie, możesz użyć poniższego skryptu:

#!/bin/bash
find /sciezka/do/katalogu -type f -mtime +30 -delete
find /sciezka/do/katalogu -type d -empty -delete

Zapisz powyższy skrypt jako cleanup.sh, nadaj mu prawa do wykonania i dodaj do crontab:

chmod +x cleanup.sh
crontab -e

Dodaj poniższą linię do crontab, aby uruchamiać skrypt codziennie o północy:

0 0 * * * /sciezka/do/skryptu/cleanup.sh

7. Podsumowanie

Usuwanie starych plików i pustych katalogów jest prostym sposobem na utrzymanie porządku w systemie Linux. Dzięki powyższym komendom i wskazówkom możesz łatwo zautomatyzować ten proces za pomocą BASH i crontab. Pamiętaj jednak, aby zawsze dokładnie sprawdzać ścieżki i warunki przed usunięciem plików, aby uniknąć przypadkowego usunięcia ważnych danych.

Polecane wpisy
Jak zabezpieczyć Linux?
Jak zabezpieczyć Linux?

Jak zabezpieczyć Linux? Linux to stabilny i bezpieczny system operacyjny, ale nawet on nie jest odporny na ataki. Istnieje wiele Czytaj dalej

Jak zmienić hostname w systemie Linux
Jak zmienić hostname w systemie Linux

Jak zmienić hostname w systemie Linux Hostname to unikalna nazwa identyfikująca komputer w sieci. Jest ona używana przez system operacyjny, Czytaj dalej