logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak napisać skrypt w Linuxie do usuwania plików starszych niż 14 dni?

beavis 29 Kwi 2005 11:26 1742 11
REKLAMA
  • #1 1447516
    beavis
    Poziom 17  
    Posty: 302
    Pomógł: 11
    Ocena: 2
    Moje pytanie dotyczy skryptu, który raz w tygodniu sprawdzałby dany katalog i usuwał z niego pliki i katalogi które są starsze niż (np 14 dni). Jak powinien wyglądać?
    Proszę grono forumowiczów o pomoc gdyż dopiero rozpocząłem naukę linuxa i póki co nie jestem w stanie tego sam napisać
  • REKLAMA
  • #2 1448782
    marek216
    Poziom 43  
    Posty: 18016
    Pomógł: 1077
    Ocena: 931
    to jak odysłam Cie do grona secjalistów: www.linux.pl
    ewentualnie forum na stronie twojej dystrybucji
  • REKLAMA
  • #3 1455998
    beavis
    Poziom 17  
    Posty: 302
    Pomógł: 11
    Ocena: 2
    ;] thx ciągle szukam
  • REKLAMA
  • #4 1456236
    gol
    Poziom 14  
    Posty: 76
    Pomógł: 4
    Ocena: 5
    W perlu da sie takie coś łatwo zrobić
  • #5 1456613
    Sam Sung
    Poziom 33  
    Posty: 2018
    Pomógł: 227
    Ocena: 594
    gol napisał:
    W perlu da się takie coś łatwo zrobić


    Hehehe... to był post na 100 punktów :D
    Można podać całą listę języków, w których da się to łatwo zrobić (dla kogoś kto je zna) - python, skrypt basha, C, php...

    Poszukaj programu tmpwatch - jest on standardowo w dystrybucjach redhat, mandrake itp. RPM'y dołączane do tych dystrybucji instalują od razu skrypt do /etc/cron.X który jest cyklicznie wywoływany przez demony cron i/lub anacron. Wystarczy otworzyć ten skrypt i dopisać sobie katalog, który ma być czyszczony.

    Gdybyś miał szukać rpm'a, polecam http://rpm.pbone.net

    Pozdrawiam
  • #8 1458068
    beavis
    Poziom 17  
    Posty: 302
    Pomógł: 11
    Ocena: 2
    Wielkie dzięki Estarriol...
    jeśli chciałbym kasować po opróżnieniu z plików katalogi to dodać rmdir?

    Jest jeszcze kolejne pytanie... w innym skrypcie jak podaję jako parametr nazwe pliku o nazwie np.: !!1.txt to niestety $1 nie zwraca tego parametru tylko to co $0. Co zrobić żeby $1 zwracał nazwę !!1.txt?
  • REKLAMA
  • #9 1458152
    Estarriol
    Poziom 15  
    Posty: 161
    Pomógł: 12
    Ocena: 59
    >> jeśli chciałbym kasować po opróżnieniu z plików katalogi to dodać rmdir?
    albo można dać rm z opcją -rf ;)
    Tylko uwaga:
    Jeśli do polecenia "rm -rf" dodasz argument "/" będąc rootem to wywalisz wszystko co masz na zamontowanych systemach plików!
    Więc trzeba uważać ;)
  • #10 1458218
    beavis
    Poziom 17  
    Posty: 302
    Pomógł: 11
    Ocena: 2
    rozumiem... ale w skrypcie wklepię na stałe ścieżkę więc chyba nic nie powinno się stać...??? i jak powinno się dołożyć ten parametr?

    poza tym... nie kasuje mi plików zaczynających się od "." - żadnych wykonywalnych
  • #11 1460098
    Estarriol
    Poziom 15  
    Posty: 161
    Pomógł: 12
    Ocena: 59
    beavis napisał:
    rozumiem... ale w skrypcie wklepię na stałe ścieżkę więc chyba nic nie powinno się stać...??? i jak powinno się dołożyć ten parametr?

    Nie powinno nic się stać ale wolałem ostrzec, żeby wpadki nie było ;)
    A żeby wykasować cały katalog to piszesz:
    rm -rf /sciezka/do/katalogu
  • #12 1463843
    beavis
    Poziom 17  
    Posty: 302
    Pomógł: 11
    Ocena: 2
    no tak jak to wpisze to dobrze ale jak w skrypcie zrobić żeby widziałparametr -rf?? bo jak normalnie dopisze to niestety nie dziala a jak wpisze komende w bashu to dziala

Podsumowanie tematu

✨ Dyskusja dotyczy stworzenia skryptu w Linuxie, który raz w tygodniu usuwa pliki i katalogi starsze niż 14 dni z określonego katalogu. Proponowane rozwiązania obejmują użycie polecenia find z opcją -mtime do wyszukiwania plików starszych niż zadana liczba dni oraz usuwanie ich za pomocą rm. Przykładowy skrypt w shellu wykorzystuje find i rm, a następnie jest umieszczany w katalogu /etc/cron.weekly, aby wykonywał się automatycznie. Poruszono także kwestię usuwania pustych katalogów po usunięciu plików, sugerując użycie rmdir lub rm -rf z zachowaniem ostrożności, aby uniknąć usunięcia niepożądanych danych. Wspomniano o programie tmpwatch, który automatyzuje usuwanie starych plików i jest dostępny w dystrybucjach Red Hat i Mandrake. Dodatkowo zwrócono uwagę na problem z przekazywaniem nazw plików zawierających znaki specjalne jako parametrów skryptu. Wskazano również, że pliki ukryte (z nazwą zaczynającą się od ".") nie są usuwane przez standardowe polecenia find bez dodatkowych opcji.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA