Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 14.03.2006, 12:14   Nach oben    #1
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard Frage zu Konsole: automatisches Löschen alter Dateien

Ist es möglich in der Konsole Dateien eines gewissen Alters in einem definierten Verzeichnis zu löschen?

Ich frage, ich weil ich per cronjob regelmäßig ein db-Backup mache.
Damit mir aber meine Platte nicht vollgemüllt wird, möchte ich die alten Backups nach x Tagen/Stunden löschen.

ein man rm hat mir nicht wirklich geholfen und google wollte mir bei meiner Suche auch nicht veraten, was ich wissen will...



Das ganze würde ich dann natürlich in einem kl. Skript unterbringen wollen, also muss es nicht notwendigerweise mit einem einzeiler getan sein.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.03.2006, 13:32   Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von schifti
 
Registriert seit: 06.12.2004
Ort: Bayern
Beiträge: 179
Standard

Die Leute, die sich damit auskennen, sind grad in der Schule, ich frag mal heute Abend nach.
Was ich gefunden habe, ist:

ls -l | cat -n

Gibt aus:
114 -rw-r--r-- 1 SM users 119 2005-08-08 14:24 .xtalkrc
Nr. Rechte ? User Gruppe Größe Time Dateiname

Hilfst dir weiter?

http://www.bin-bash.de

Geändert von schifti (14.03.2006 um 13:34 Uhr). Grund: Link vergessen
schifti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.03.2006, 23:48   Nach oben    #3
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 567
Standard

Definier mal die Zeit nach der die Backups gelöscht werden sollen. Dafür brauchst du kein script, das kann der Befehl find in zusammenarbeit mit rm.

find bietet dir die Möglichkeit zu jeder gefunden Datei eine Aktion auszuführen.
Das hier dürfte dir helfen:

Code:
find /verzeichnis -type f -mtime +1 -exec rm { };
Die 1 hinter mtime sind 24*n Stunden in denen die Datei geändert wurde. Das + dreht die Selektion um.
Also sucht dieser Befehl alle Dateien die älter sind als 24*1 Stunden.

Zum ausprobieren ändere bitte -exec in -ok
Somit musst du jedes ausführen von rm bestätigen.

Gruß
Sparrow
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2006, 08:24   Nach oben    #4
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard

@schifti: den link werde ich mir näher anschauen.

@sparrow:
ok - das mit find leuchtet mir ein, aber...

Code:
find /var/backup/ -type f -mtime +1 -ok rm backup-vb-*;
find: missing argument to `-ok'
Dann unabhänig davon... muss ich bei rm dann den Dateinamen absolut angeben, oder reicht es relativ, oder sogar nur rm { }

Meine Versuche dahingehend sind bisher gescheitert.

btw: das Argument -exec mag er ebenso wenig.

Somit blieb das bestätigen leider kompl. aus.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2006, 11:47   Nach oben    #5
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

http://www.galileocomputing.de/openb...ru/node22.html

Code:
# cd /zum/verzechnis
# find `echo $PWD` -name backup_vb_\* -type f -mtime 1 -exec rm {} \;
Zitat:
Vor den Sternen muss ein Backslash stehen, damit sie an find durchgereicht und nicht bereits durch die Shell interpretiert werden.
Das gilt auch für das Semikolon.

Anosnten
Code:
# man find
hilft dir bestimmt weiter.
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)

Geändert von dejan_spasic (15.03.2006 um 12:18 Uhr).
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2006, 12:20   Nach oben    #6
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard

nicht wirklich!
Code:
man find
sagt mir, dass sowohl die Option -ok als auch -exec erlaubt wären!

Aber als Meldung erhalte ich dann von der Konsole:
Code:
find: missing argument to `-ok'
oder
Code:
find: missing argument to `-exec'
jenachdem, was ich nutze...

Derzeit sieht mein Kommando so aus:
Code:
find /var/backup/ -type f -name \*.sql.gz -mtime +7 -ok rm { };
// edit: aufgrund deines edit:
Zitat:
Zitat von dejan_spasic
Zitat:
Vor den Sternen muss ein Backslash stehen, damit sie an find durchgereicht und nicht bereits durch die Shell interpretiert werden.
Das gilt auch für das Semikolon.
Code:
find /var/backup/ -type f -mtime +1 -name \*.sql.gz -exec rm { }\;
find: missing argument to `-exec'

Anmerkung: die zu löschenden Dateien haben folgenden Aufbau:
backup-vb-$jahr-$monat-$tag__$Stunde-$minute-$sekunde.sql.gz



// edit#2:
ein
Code:
find /var/backup/ -type f -mtime +1 -name \*.sql.gz
zeigt mir auch brav die selektierten Dateien an.

Das Problem liegt beim -exec
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (15.03.2006 um 12:28 Uhr).
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2006, 12:57   Nach oben    #7
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

Code:
find /var/backup/ -type f -mtime +1 -name \*.sql.gz -exec rm { }\;
Zwischen der schlissenden geschweiften Klammer und dem Semikolon muss ein Leerzeichen. Und das Semikolon muss, aus den oben gennanten Gründen, "escaped" werden.

Code:
find /var/backup/ -type f -mtime +1 -name \*.sql.gz -exec rm { } \;
Code:
find /var/backup/ -type f -mtime +1 -name \*.sql.gz -ok rm { } \;
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2006, 13:13   Nach oben    #8
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard

ja! das sieht doch gleich schon... anders aus...

er scheint das exec nun zu kennen, aber nun quittiert er folgendes:

Code:
rm: cannot remove `{': No such file or directory
rm: cannot remove `}': No such file or directory
wenn ich
Code:
find /var/backup/ -type f -mtime +1 -name \*.sql.gz -ok rm { } \;
nutze.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2006, 13:25   Nach oben    #9
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

Ein bißchen mehr eigeninitiative bitte

Versuche es mal ohne Leerzeichen zwischen den geschweiften Klammern.

Code:
 find /var/backup/ -type f -mtime +1 -name \*.sql.gz -ok rm {} \;
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2006, 13:49   Nach oben    #10
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard

Zitat:
Zitat von dejan_spasic
Ein bißchen mehr eigeninitiative bitte
Sry - das hatte ich schon ausprobiert, allerdings zu einem Zeitpunkt, da das Problem noch woanders lag.


So - das funktioniert. Ich bedanke mich!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2006, 15:28   Nach oben    #11
Erfahrener Benutzer
 
Benutzerbild von schifti
 
Registriert seit: 06.12.2004
Ort: Bayern
Beiträge: 179
Standard

wie hast du es gelöst (Code)?
schifti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2006, 15:34   Nach oben    #12
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard

mit dem hier:
Zitat:
Zitat von dejan_spasic
Code:
 find /var/backup/ -type f -mtime +1 -name \*.sql.gz -ok rm {} \;
beziehungsweise letztlich dann anstelle des -ok mit -exec
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:41 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44