magier86
Goto Top

FTP Backup Script

Hallo Zusammen,

ich bin dabei für unsere Linux Debian Server Shell Scripts zu schreiben, um die MySQL Datenbanken auf einen FTP Backupserver zu sichern.
Soweit klappt auch schon alles allerdings hat der Backupserver "nur" 100 GB Speicherkapazität. Jetzt ist meine Frage, wie ich es schaffe, dass mein Script alle Files auf dem FTP Server löscht die älter sind als 30 Tage?

Momentan ist der Ablauf so:

Die Datenbank wird im Ordner /usr/local/backup gesichert und dann anschließend von dort aus per FTP auf den Backupserver gesichert.

Hier ist mal das Script das ich gebastelt habe....

#/bin/sh

d=$(date +%Y%m%d)
tag=$(date +%u)
cd /var/lib/mysql
  1. Packt alle Dateien aus dem Ordner MySQL und bennt diese zusätzlich mit dem aktuellen Datum
zip -r /usr/local/backup/ibs_ots_weiden$d.zip ibs_ots_weiden/ -xi *.MYI
zip -r /usr/local/backup/ibs_eugn$d.zip ibs_eugn*/ -xi *.MYI
zip -r /usr/local/backup/sun$d.zip sun*/ -xi *.MYI */scan.* */fotos.*
zip -r /usr/local/backup/fmig1$d.zip fmig*/ -xi *.MYI

  1. Sucht Dateien im Verzeichnis /usr/local/backup/* und löscht alle die älter sind als 30 Tage
find /usr/local/backup -type f -mtime +30 -exec rm {} \;

  1. Baut eine FTP Verbindung auf und kopiert alle Dateien die vorher gepackt wurden auf den FTP Server
cd /usr/local/backup
ftp -inv 88.198.*.* << EOF
quote user
quote pass
bin
mput *$d.zip
quit


find /usr/local/backup -type f -mtime +30 -exec rm {} \; löscht schön alle Files im Ordner /usr/local/backup die älter sind als 30 Tage aber wie funktioniert es, dass das Script die Files auf dem FTP Server löscht?


Hoffe, dass es soweit verständlich ist face-smile

Schöne Grüße
Magier86

Content-Key: 129591

Url: https://administrator.de/contentid/129591

Printed on: April 25, 2024 at 11:04 o'clock

Member: dog
dog Nov 17, 2009 at 16:06:40 (UTC)
Goto Top
Ich würde tendenziell einen anderen Weg gehen und den FTP-Server per FUSE mounten.
Dann kannst du mit ihm wie mit einem lokalen Dateisystem arbeiten, was auch das Löschen problemlos ermöglicht.

Grüße

Max
Member: mex604
mex604 Nov 19, 2009 at 09:47:12 (UTC)
Goto Top
/var/lib/mysql sichern bei laufenden mysqlserver ist nicht so das optimum, würd dir eher zu mysqlhotcopy raten oder mysql runterfahren, zippen, mysql hochfahren.

und dann würd ich rsync nehmen und nicht ftp, fuse wurde oben schon angesprochen; rsync überträgt nur geänderte dateien (da da auch nach möglichkeut nur diffs), das spart meist viel zeit und brandbreite.

find /usr/local/backup -type f -mtime +30 -exec rm {} \; löscht schön alle Files im Ordner
/usr/local/backup die älter sind als 30 Tage aber wie funktioniert es, dass das Script die
Files auf dem FTP Server löscht?

-> rsync face-wink


mex
Member: magier86
magier86 Nov 19, 2009 at 10:18:15 (UTC)
Goto Top
Vielen Dank für eure Antworten face-smile

Ich werde das mal testen.....