Ergebnis 1 bis 2 von 2

Thema: Cleanup old FTP Backups

  1. #1
    SkawoN ist offline Benutzer
    Registriert seit
    16.09.2008
    Ort
    Schwarzenbek
    Beiträge
    66

    Idee Cleanup old FTP Backups

    Hallo zurück

    Ich habe mal wieder etwas hilfreiches zum Thema FTP Backup. Dem einen ist es bereits aufgefallen, dem anderen wohl erst, wenn der externe Backup-Server "HDD voll" oder "Quota erreicht"...

    Hierfür habe ich eine kleine Abhilfe. Ein Shell Script, dass automatisch alle Backup-Files nach Ablauf einer gewissen Zeit automatisch löscht. Ich habe das Script schon so geschrieben, dass es wunderbar zum Thema "Axigen-FTP Backup" passt.

    Voraussetzung und Grundlage
    Code:
    Betriebssystem         : SUSE Linux
    FTP Client             : ncftp
    FTP Client Version     : egal
    Funktionsweise
    Eigentlich nichts besonderes, hier ein kleiner Überblick:
    1. Verbinden und Auslesen des betreffenden Verzeichnisses anhand von "ncftpls"
    2. Das gescannte Verzeichnis wird anschließend aufgerufen ($baklist) und
    3. anhand des Namens, was gleichzeitig das betreffende Datum ($del) kontrolliert.
    4. Ist das Datum des Files ($baklist) kleiner als der angegebene Zeitraum (in dem fall älter als 14 Tage)
    5. Wird der Filename in eine Löschdatei ($delfile) geschrieben.
    6. Nach Ablauf bzw. Kontrolle aller Files aus dem FTP bestimmt ein FLAG ($ready2del), ob gelöscht wird oder nicht.
    7. Ist das FLAG ($ready2del=1) gesetzt, werden alle Dateien in der Löschliste ($delfile) vom FTP gelöscht.


    Shell-Script

    Code:
    #!/bin/bash
    ###############################################
    # Cleanup old FTP Backups                     #
    # Associate to AXIGEN.SBS.V1.x                #
    # SNOW.CoB.V1.1               (c) SkawoN 2010 #
    ###############################################
    
    host="123.123.123.123"                                      #<-- IP Adr. or Hostname
    user="[USERNAME]"                                           #<-- Username for FTP Server
    pass="[PASSWORD]"                                           #<-- You passwort for FTP Server
    ftpdir="daily"                                              #<-- Option: Directory
    baklist="/tmp/list.txt"                                     
    delfile="/tmp/delfile.ftp"
    del=`date --date='14 day ago' +%y%m%d`                      #<-- Change the number, if you want...
    
    ncftpls -u $user -p $pass ftp://$host/$ftpdir/ >> $baklist
    
    exec 3<&0
    exec 0<$baklist
    
    ready2del=0
    
    while read line
    do
      filename=${line%.*}
      if [ $filename -lt $del ] 
        then 
        ready2del=1
    	echo "rm "$line >> $delfile
      fi
    done
    
    rm $baklist
    if [ $ready2del == 1 ]
      then 
      echo "bye" >> $delfile
      set confirm-close no
      ncftp -u $user -p $pass ftp://$host/$ftpdir/ <$delfile
      rm $delfile
    fi

  2. #2
    huestel ist offline Administrator
    Registriert seit
    03.11.2007
    Beiträge
    1.692

    Standard

    Vielen Dank hierfür - sehr gut. Müssen wir mal testen
    Bislang verwenden wir hierfür charon Wertarbyte EDV-Dienstleistungen - Backup system "Tartarus"
    www.axigenmailgate.de - Linux Mailserver POP3/IMAP/SMTP/WebMail/WebAdmin/Organizer/Groupware/Outlook Connnector

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •