• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Die letzten 10 Backups

DerSucker

Newbie
Hallöchen...
Ich hab ne Frage, vielleicht kann mir hier jemand helfen.
Ich habe einen externen FTP-Server mit 5GB beschränkung, auf welchen bestimmte Dinge von meinem
Linux-Server sichere...da der FTP aber nur 5GB beschränkung hat, muss ich immer wieder alte Backups
löschen um Platz zu schaffen.

da sind also die Dateien
backup-2009-06-04.bkp
backup-2009-06-03.bkp
backup-2009-06-02.bkp
backup-2009-06-01.bkp
backup-2009-05-30.bkp
usw...

Ich würde jetzt gerne ein Script schreiben, dass nur z.B. die letzten 10Backups auf dem FTP-Server lässt, und die übriegen löscht. Das löschen ist jetzt nicht so das Problem, weiss nur nicht wie mein Script die 10 neuesten erkennt...Zugang ist nur über FTP möglich, sonst nix

Wenn jemand hier einen Lösungsansatz hätte, wäre ich sehr dankbar.
 

marce

Guru
wenn Du das Datum im Dateinamen drin hast und täglich sicherst kannst Du einfach den zu löschenden Dateinamen generieren (einfach 11 Tage zurück) und diese Datei löschen.

->
Code:
man date

Kann natürlich Ärger machen, wenn die Sicherung mal nicht sauber läuft :)
 

rolle

Guru
Sieh Dir das folgende Script mal an, da werden immer alle Backups gelöscht, die über die maximale Anzahl rausgehen. http://www.linupedia.org/opensuse/Backupdate_sh
 
OP
D

DerSucker

Newbie
@marce
Ist eingentlich eine simple Idee, doch manpage von date sag mir nicht wie ich zurückzählen kann.
Wären Monate nicht unterschiedlich lang wäre das kein Problem, dann würde ich die Tage runterzählen, aber leider geht es nicht so einfach...
vielleicht kannst du mir nochmal sagen wie ich denn die letzten 11Tage rauskriege ;)

@rolle
thx, hab mir das script mal angesehen...hat super geklappt auf dem localen filesystem, jedoch liegen die files auf einem ftp server. Ich habe versucht über curlftpfs den server zu mounten, aber aus bestimmten gründen darf das so nicht sein.
 
OP
D

DerSucker

Newbie
so thx nochmal an marce...
wenns jemanden interessiert, so gehts:

#Backup vor 11 Tagen löschen
OLD=backup-`date "+%F" -d '11 days ago'`.bkp
ncftp -u username -p password server<<EOF
cd backup
rm $OLD
quit
EOF
 
Oben