Linux - skrypt





beavis - 29 Kwi 2005 11:26
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ć





marek216 - 29 Kwi 2005 20:14
to jak odysłam Cie do grona secjalistów: www.linux.pl
ewentualnie forum na stronie twojej dystrybucji



beavis - 02 Maj 2005 20:50
;] thx ciągle szukam



gol - 02 Maj 2005 22:10
W perlu da sie takie coś łatwo zrobić





Sam Sung - 03 Maj 2005 00:16

W perlu da się takie coś łatwo zrobić

Hehehe... to był post na 100 punktów
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



Darekkk - 03 Maj 2005 10:34
Poczytaj sobie ten temat:
http://www.codecomments.com/archive287-2004-7-232335.html
Tam znajdziesz ciekawe wiadomości na ten temat.



Estarriol - 03 Maj 2005 10:57
#!/bin/sh
dni="14"
katalog="/home/sid/smieci"
maska="*.tmp"

rm `find $katalog -name '$maska' -mtime +$dni`

Nadajesz prawa skryptowi:
$ chmod +x deltemp
I kopiujesz do /etc/cron.weekly




beavis - 03 Maj 2005 17:28
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?



Estarriol - 03 Maj 2005 17: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ć



beavis - 03 Maj 2005 18:29
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



Estarriol - 04 Maj 2005 12:23

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



beavis - 05 Maj 2005 15:27
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