Backupscript mit FTP und tar

informant

Blog Benutzer
Hallo zusammen,

ich bräuchte mal Hilfe bei einem Script. Ich würde es gern so erweitern, dass man die ältesten Backups auf dem FTP nach Anzahl-x löschen kann und die Anzahl angeben kann z.B. max. 3 Backups und die ältesten immer löschen pro Aufruf. Freue mich auf eure Infos. Dank.

Hier noch mein Script:
Code:
#!/bin/sh
SUFFIX="tar.gz"
DATE=`date +"%A"`
FULLNAME="$DATE.$SUFFIX"

cd /var/www/webseite

tar czfv $FULLNAME htdocs/

ftp -inv ip-of-server << EOF
user username  passwort
put $FULLNAME
bye
EOF

rm -f $FULLNAME
 
D

Deleted member 14422

Guest
Nur auf die Schnelle ein kleiner Hinweis:
Code:
find /var/backups/ -mtime +14 -type f -exec /bin/rm {} \;
Das löscht bei mir jede Nacht alle Backups, die älter als 14 Tage sind. Genaueres siehe manpage von find!

Frohe Weihnachten!
 

informant

Blog Benutzer
Hallo und danke, aber der Befehl ist bekannt und klappt nur, wenn man den Speicher mounten kann oder es lokal auf der HDD liegt, per FTP ist dieser Befehl nicht nutzbar. Benötige etwas via FTP Befehl.

MfG
 
D

Deleted member 14422

Guest
tartarus regelt das mit charon.ftp - ob es den allerdings auch ohne tartarus gibt, weiß ich nicht. Könnte vielleicht trotzdem hilfreich sein.
 

DeaD_EyE

Blog Benutzer
Backupscripts selbst zu programmieren ist meist überflüssig, da es da draußen bereits gut durchdachte Lösungen gibt.
Da fängt ja schon mit den Exceptions an. Was soll passieren wenn..
 

informant

Blog Benutzer
Hi, welches kann denn diese Optionen von Haus aus?

Backupscripts selbst zu programmieren ist meist überflüssig, da es da draußen bereits gut durchdachte Lösungen gibt.
Da fängt ja schon mit den Exceptions an. Was soll passieren wenn..
 

marce

Well-Known Member
Sinn oder Unsinn von eigenen Scipts mal dahingestellt - aber Du generiertst den Dateinamen des Archivs anhand von Date.

Wieso dann nicht z.B. mit einer ded. Datumsangabe sich den zu löschenden Dateinamen auch generieren und im Script verarbeiten? date -d "3 days ago" z.B.?
 

informant

Blog Benutzer
Hallo, das war der entscheidende Tipp, vielen Dank.

Gibt es auch ne Möglichkeit, Files älter als zu löschen statt nur die Files, die dem Datum X days ago entsprechen, oder muss man das in ner Schleife zwingend machen?

MfG
 

Joe User

Zentrum der Macht
Oder einfach ein Indexfile nutzen und auswerten.

Analog zu diesem Beispiel zum Auslesen und verwerten eines LATEST-Files:
Code:
wget -q -O - "http://gentoo.osuosl.org/releases/amd64/autobuilds/latest-stage3-amd64-hardened+nomultilib.txt" | tail -n 1 | \
     xargs -I % wget -q -O - "http://gentoo.osuosl.org/releases/amd64/autobuilds/%" | tar xpjvf - -C /mnt/gentoo/
Lässt sich beliebig anpassen und ein Script zum Aktualisieren des Indexfiles ist auch schnell gebastelt.
 
Top