Archiv verlassen und diese Seite im Standarddesign anzeigen : Deiteiendungen automatisch löschen lassen
Papaschlumpf
08.05.03, 10:52
Hallo, ich habe da mal eine Frage, wie kann ich es machen, das ich bestimmte Dateiendungen, nach einer gewissen Zeit löschen lassen kann...
Wie zb. avi Dateien.... alle 3 Tage.
Das ich soetwas mit einem Crone machen kann ist schon klar.... aber wie muss die Auszuführende Datei asussehen.
Der Gesammte Ordner darf allerdings nihct gelöscht werden. Nur die einzelnen Dateien.
MfG
Papas
find /home/ftp -type f -name "*.[Aa][Vv][Ii]" -exec rm {} \;
Papaschlumpf
08.05.03, 11:14
Also wenn ich das richtig verstanden habe, dann einfach
/home/ftp
da meinen Pfad zu dem Ordner eingeben
"*.[Aa][Vv][Ii]"
das sind die endungen
find
das muss auch da rein.... als suchbefehl ?
Und das ganze mache in in eien Datei rein loeschen.pl
und lasse sie durch den Crone ausführen ???
und dann werden alle Dateien gelöscht, die din der Klammer drinnen sind
MfG
papas
loeschen.sh ist eventuell hübscher als loeschen.pl, aber sonst hast Du das wohl richtig verstanden
Papaschlumpf
08.05.03, 11:41
Werden dann auch unterordner mit durchsucht, oder nur der ordner den ich angegeben habe.... wie zb:
find /home/user -type f -name "*.[Aa][Vv][Ii]" -exec rm {} \;
da habe ich dann noch einige unterordner drinnen, und da halt dann die Daten durchsuchen
angenommen da ist der ordner papaschlumpf drinnen, wird dieser dann auch durchsucht oder der nicht ?
MfG
papas
Original geschrieben von Papaschlumpf
Werden dann auch unterordner mit durchsucht, oder nur der ordner den ich angegeben habe.... wie zb:
find /home/user -type f -name "*.[Aa][Vv][Ii]" -exec rm {} \;
da habe ich dann noch einige unterordner drinnen, und da halt dann die Daten durchsuchen
angenommen da ist der ordner papaschlumpf drinnen, wird dieser dann auch durchsucht oder der nicht ?
ja, unterordner werden natürlich auch durchsucht, sonst würde ja ein
rm /home/user/*.[Aa][Vv][Ii]
ausreichen.
das mit dem *.[Aa][Vv][Ii] steht für *.Avi *.AVI *.avi *.aVi...... du weißt schon was ich meine, gell?
der gesamte findbefehl kommt in /etc/cron.weekly/avirm.sh
das script muss dann noch ausführbar gemacht werden:
chmod 755 /etc/cron.weekly/avirm.sh
Papaschlumpf
08.05.03, 13:52
Wie ist das denn wenn die Datei nihct da ist, stoppt das Script dann oder läuft das weister ohne Probleme .....
MfG
Papas
das ist kein script, find sucht einfach alle , die den kriterien entsprechen , probiere doch selber mal
find ~ -name "*.mp3"
wenn du mehr über find wissen willst :
man find
Papaschlumpf
08.05.03, 14:39
Habe das ja nun auch alles gemacht, nu ich bekomme einen Fehler
find /home/user -type f -name "*.[Aa][Vv][Ii]" -exec rm {} \;
das habe ich da drinnen ( namen natürlich angepasst AaVv Ii etc.
nun bekomme ich einen Fehler mit der -exec dfa soll was nicht stimmen
weis jemand Rath
Genaue Meldung
Ausgabe des Befehls /sicherung/loeschen.sh ...
find: missing argument to `-exec'
die rechte sind auch auf 755 eingestellt
MfG
Papas
Der Gestreifte
08.05.03, 15:34
Den Backslash hast Du vor dem Semikolon stehen?
Du könntest auch mal -exec rm \{\} \; probieren.
Papaschlumpf
09.05.03, 09:50
Immerhin bekomme ich nun schon mal eine andere meldung:
Ausgabe des Befehls /sicherung/loeschen.sh ...
find: paths must precede expression
Usage: find [path...] [expression]
soweit ich das verstehe, erkennt er schon den Pfad... jedoch nihct die einzelnen dateien. ich hänge mal die loeschen.sh von mir mit an ich hoffe das hilft dann weiter
MfG
Papas
find /usr/local/httpd/htdocs/user -type f -name "*.[eE][xX][eE]" -o name "*.avi" -o name "*.rar" -exec rm {} \;
alles in [] steht für ein Zeichen !!!
also
[ABC] = A -> richtig
[ABC] = B -> richtig
[ABC] = C -> richtig
[ABC] = b -> falsch
...
[AB][ab] = Aa -> richtig
[AB][ab] = Ab -> richtig
[AB][ab] = Ba -> richtig
[AB][ab] = BB -> falsch
...
wenn man als User dahintergestiegen ist wird man bei dir Avi's als Film-avi.irgendwas abspeichern, dann hilft nur noch
file Film-avi.irgendwas
das gibt dir den echten Dateityp an.
Dann gehts aber in Richtung Shellprogrammierung, mit "if" abfrage !
Papaschlumpf
09.05.03, 10:32
Bekomme immer noch die meldung, das es in dem verzeichniss bla bla
kannst muir mal deine andere version erklären mit dem IF ....
ev geht das dann ja auch....
wie man sicher schon mitbekommen hat.... habe ich free space und das ist daher wichtig da DL´s nicht erlaubt sind...
MfG
Papas
P.s.: Der Ordner user hat nur die rechte 0017 kann es daran liegen.... diese kann ich aber auch nicht erweitern.. da dann wieder das schreiben in dem Ordner möglich ist.
dein find befehl war ja auch falsch, hast du es mal mit -name "*.rar" -o -name "*.avi" probiert ?
0017 heisst d-----xrwx ?, das wäre dumm, da ja jeder dann schreiben darf. (duuugggaaa - Dir-User-Gruppe-Alle)
als beispiel für bz2 Dateien:
#!/bin/bash
if [[ `file -b "$1"`=="bzip2 compressed data, block size = 900k" ]] ; then
rm "$1"
fi
aber ohne find gehts nicht.
Papaschlumpf
09.05.03, 11:29
Habe nun immer noch die meldung
Ausgabe des Befehls /sicherung/loeschen.sh ...
find: paths must precede expression
Usage: find [path...] [expression]
und habe in der loeschen.sh nun das drinnen
find /usr/local/httpd/htdocs/user -type f -name "*.exe" -o -name "*.avi" {} \;
-exec rm
fehlt noch, sorry war mein Fehler, aber ich dachte das Prinzip bei find hättest du schon verstanden.
find /usr/local/httpd/htdocs/user -type f -name "*.exe" -o -name "*.avi"
zeigt alle exe und avi dateien
find /usr/local/httpd/htdocs/user -type f -name "*.exe" -o -name "*.avi" -exec rm {} \;
löscht alle exe und avi dateien
das {} \; am ende ist nur wenn du mit -exec irgendwas ausführen willst.
Papaschlumpf
09.05.03, 11:57
Also,
ich habe nun zwei dateien angelegt einmal suchen und einmal löschen
in der löschen ist das drinnen:
find /usr/local/httpd/htdocs/user -type f -name "*.exe" -o -name "*.avi" -exec rm {} \;
hier bekomme ich aber keine dateien mit gelöscht. es wird nur gezeigt:
es kann keine Ausgabe erstellt werden.
Im gegensatz zu finden
da werden mir die Dateien angezeigt.
which rm --> ist rm das rm, was du möchtest (/bin/rm oder /usr/local/bin/rm)
ls -lad /usr/local/httpd/htdocs/user --> Rechte checken, nur wer in dem Verzeichniss schreiben darf, darf auch löschen.
Papaschlumpf
09.05.03, 12:12
Schon klar....
und wie kann ich das ändern ???
Gar nicht oder doch
P.s.:
Gibt es auch die möglichkeit dann eine mal zu senden, wenn das finden erfolgreich war ???? Automatisch meine ich
Original geschrieben von Papaschlumpf
Schon klar....
und wie kann ich das ändern ???
Gar nicht oder doch
das mit rm ?
klar kann man das festlegen
-exec /bin/rm {} \;
P.s.:
Gibt es auch die möglichkeit dann eine mal zu senden, wenn das finden erfolgreich war ???? Automatisch meine ich
find /usr/local/httpd/htdocs/user -type f -name "*.exe" -o -name "*.avi" | mail -s "Boese Dateien gefunden" root@server.net
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.