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-ID: 129591

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

Ausgedruckt am: 26.11.2024 um 12:11 Uhr

dog
dog 17.11.2009 um 17:06:40 Uhr
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
mex604
mex604 19.11.2009 um 10:47:12 Uhr
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
magier86
magier86 19.11.2009 um 11:18:15 Uhr
Goto Top
Vielen Dank für eure Antworten face-smile

Ich werde das mal testen.....