Backupscript mit FTP und tar

  • Thread starter Thread starter informant
  • Start date Start date
I

informant

Guest
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
 
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!
 
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
 
tartarus regelt das mit charon.ftp - ob es den allerdings auch ohne tartarus gibt, weiß ich nicht. Könnte vielleicht trotzdem hilfreich sein.
 
Interessant, mal ansehen. Schaun ob das so einfach klappt. Evtl. hat ja noch wer andere Ideen. Danke.
 
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..
 
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..
 
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.?
 
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
 
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.
 
Back
Top