Hyper Backup Hyper Backup - Legacy Backup auf exFAT USB Platte

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.
Ja, mach das 'mal, Thonav, schöne Idee! ;)
 
Als ob ich auch nur eine Zeile programmieren könnte - nee nee - das macht Ihr schon :) Könnte ne Skizze beisteuern, dann möchte ich aber auch namentlich mit eingebracht werden.
PsyToTho-Backup - Paket :)
 
Leere Variable für Standardverhalten (idealerweise mit Details im Kommentar) halte ich für den besten Weg.

Das sehe ich genauso.



Oh ja eine Gui, das wärs.

Aber das ist so verdammt hart alles auszulesen.
Da müsste ich erstmal php lernen und das von null.


Eine Skizze habe ich letztens schon mal gemacht, wie der Aufbau wäre und die verschiedenen Modi (lokal, fromssh, tossh) usw.

Allerdings ist das für mich als php Amateur ein riesen Aufwand.
Ich war ja schon froh, dass wir das mit dem Script so gut hinbekommen haben als Laien.




Aber ich habe auch mal einen kleinen Fortschritt gemacht.
Ich habe mir ein SPK gebaut und kann dort jetzt wenigstens mit einem Klick das Such Script starten, sodass alle "search-rsync.sh" Scripte bei mir ausgeführt werden.
Das ist schon mal ziemlich Praktisch :)
 

Anhänge

  • gui.jpg
    gui.jpg
    13 KB · Aufrufe: 33
An einem SPK hat sich PsychoHH schon versucht, jedoch gibt es da wohl noch jede Menge Hürden zu überwinden. Ich persönlich halte ein SPK für ein sehr hoch gestecktes Ziel welches wir ohne tatkräftige Unterstützung wohl nicht umsetzen können.

Aber der Name klingt lustig... PsyTom! Vielleicht sollten wir und den schützen lassen *g*

Tommes
 
Ja der Name wird geschützt :eek:



Ich habe ja auch gedacht wow ein Paket, das wäre cool.

Dann aber ist auch der Gedanke, es gibt schon eine Menge Features, gerade dann noch in Verbindung mit autorun denk ich mir, dass ein SPK nur zur Konfiguration da wäre.

Und sind wir ehrlich, kann man die Variablen ja auch schnell einmal festlegen und speichern, man kann ja beliebig viele Scripte in einem Ordner legen und diese unabhängig voneinander starten lassen.

Bei mir z.B. liegen alle in einem Ordner und den @logfiles Ordner habe ich mir als Verknüpfung an den DSM Desktop geheftet, so hab ich schnellen Zugriff darauf.
An einem bestimmten Tag läuft Script 1 und an einem anderen Script 2.

Wie sollte man das alles in einem SPK unterbekommen, mit auslesen der Config, erstellen usw.

Da muss man schon eine Menge KnowHow haben um das zu meistern.

Es gibt so viele Szenarien die man mit dem Script durchspielen kann.
Sei es auf einer SD/CF Karte in der Kamera die beim einstecken im Kartenleser automatisch die Fotos/Videos sortiert und ja das klappt sehr gut :O



Ich überleg mir gleich mal ein paar Sachen und schreib dann mal den Teil mit den SYNCOPTs, schauen wir mal.
 
Und selbst wenn man eine kompakte GUI bauen würde, die nicht alles abdeckt, würde das für spk-Unbedarfte so viel Entwicklungszeit binden, dass es m.E. mehr bringt, mit überschaubarem Aufwand beim Kern der Sache zu bleiben. Vielleicht findet sich irgendwann ein spk/GUI-Spezi, der das Paket mit links zusammenschraubt und gleich noch autorun integriert.
 
Sollte so klappen oder?
Muss sonst heute Abend mal schauen ob ich noch eine Platte für ntfs frei habe.


Rich (BBCode):
if [ -z "$SYNCOPT" ]; then
    if [ df -T | grep -iE "ntfs|exfat" ]; then
    SYNCOPT="rltDvR"
    else
    SYNCOPT="-ahR"
    fi
else
    if [ df -T | grep -iE "ntfs|exfat" ]; then
        echo "Bei externen Platten, die NTFS/exFAT formatiert sind, bitte die Variable SYNCOPT leeren" >> $LOG
    fi
fi
 
Zuletzt bearbeitet:
Sieht gut aus, ich kann höchstens zwei Kommata anbieten:

echo "Bei externen Platte, die NTFS/exFAT formatiert sind, bitte die Variable SYNCOPT leeren" >> $LOG
 
Alles klar gemacht.

Dann sollten wir wohl die Variable im Script leeren und jeder der eine andere Option brauch, kann diese ja bei Bedarf festlegen.


Thonav hast du noch deine ntfs/exfat Platte und magst testen? :)

Einfach diesen Teil:
Rich (BBCode):
# RSync Optionen konfigurieren
#-------------------------------------------------------------------------
SYNCOPT="-ahR"
LOGSTAT="--stats"
EXCLUDE="--exclude=@eaDir/*** --exclude=@Logfiles/*** --exclude=#recycle/*** --exclude=#snapshot/*** --exclude=.DS_Store/***"
RECYCLE="--delete --backup --backup-dir=@Recycle/"$DATE"_$SCRIPTNAME"


durch diesen ersetzen:
Rich (BBCode):
# RSync Optionen konfigurieren
#-------------------------------------------------------------------------
SYNCOPT=""
LOGSTAT="--stats"
EXCLUDE="--exclude=@eaDir/*** --exclude=@Logfiles/*** --exclude=#recycle/*** --exclude=#snapshot/*** --exclude=.DS_Store/***"
RECYCLE="--delete --backup --backup-dir=@Recycle/"$DATE"_$SCRIPTNAME"


if [ -z "$SYNCOPT" ]; then
    if [ df -T | grep -iE "ntfs|exfat" ]; then
    SYNCOPT="rltDvR"
    else
    SYNCOPT="-ahR"
    fi
else
    if [ df -T | grep -iE "ntfs|exfat" ]; then
        echo "Bei externen Platten, die NTFS/exFAT formatiert sind, bitte die Variable SYNCOPT leeren" >> $LOG
    fi
fi
 
Ihr Vögel :)
Mache ich gleich mal - denk aber daran, dass die Platte mit ntfs schon vorher (ohne Anpassung der SYNCOPT mit rltDvR) problemlos durchlief. NUR extFAT benötigte die Änderung.

UPDATE: Auch mit den vom Psycho vorgeschlagenen Änderungen lief das Skript unter exFAT fehlerfrei durch. Was mir aufgefallen ist, dass ich nach Ende des Jobs keine Mitteilung erhalte.
 
Zuletzt bearbeitet:
denk aber daran, dass die Platte mit ntfs schon vorher (ohne Anpassung der SYNCOPT mit rltDvR) problemlos durchlief.

Gleiches bei mir. Ich verwende zwei externe USB-Festplatten sowie einen USB-Stick jeweils mit NTFS formatiert und hatte bisher keine Probleme mit dem Optionsschalter -ahR

Ansonsten find ich den Script-Schnipsel von Psycho auch sehr gut umgesetzt. Wäre jetzt nur noch zu klären warum Thonav keine Mitteilung erhält? Was genau meinst du denn damit, Thonav? Keine Mitteilung im DSM oder keine Mail? Wird das Protokoll unter @Logfiles geschrieben und falls ja, steht dort irgendetwas auffälliges?

Tommes
 
Für ntfs können wir das dann ja ruhig rausnehmen.

Eigentlich sollte das keinen Einfluß auf die Mitteilungen geben. Warten wir mal ab was er meint ;)
 
Was mir grad noch aufgefallen ist (ohne es zu testen)...

Der Log-Eintrag in dem Script-Schnipsel kann eigentlich garnicht ausgegeben werden, da das Logfile erst später im Script generiert wird. Den Part müsste man daher wohl verschieben.

Wie wär es denn, wenn man die Variable SYNCOPT standardmäßig mit -ahR füllt und wenn das System ein exFAT findet, einfach SYNCOPT nach -rltDvR umschreibt. Dann bräuchte man den Hinweis im Log nicht, das SYNCOPT ggfl. leer sein muss bzw. bräuchte diesen Part erst garnicht verschieben, damit er geloggt wird.

Tommes
 
Dann müsste aber abgefragt werden, ob der Inhalt der Variablen nicht geändert wurde, und müsste das eigentlich auch protokollieren. Warum nicht das Log am Anfang des Skripts anlegen, so dass überall geloggt werden kann?
 
@Tommes: Ich benötige keine Mitteilung per Mail - daher ist im Skript dort auch nichts eingetragen. Ja, ich meinte keine Abschlussmeldung im DSM. Der Start des Skripts wird mitgeteilt - leider nicht, wenn der Job abgeschlossen ist.
 
Mh das sollte so aber eigentlich nicht sein. Was Tommes aber meinte kann man ja schnell ändern, dass sollte auch erstmal nur ein leichter test sein ob es mit grep so geht. Ich werde das aber dann nochmal testen auch mit den Benachrichtigungen. Ganz am Anfang den log setzen ist blöd, da erst der Ordner erstellt werden muss und der Code dann mit oben steht.



*EDIT*


Wir schreiben das ganze einfach nach dem Logstart und vor #Fehlererkennung ins Script.
Hab die Auswertung dann auch mal nur auf eSATA und USB beschränkt.
So setzen wir SYNCOPT wenn es mal leer ist mit -ahR und wenn ein externes Gerät exFAT formatiert ist einfach mit -rltDvR

Was haltet ihr denn von dieser Lösung?

Rich (BBCode):
# RSync - SYNCOPT definieren
#-------------------------------------------------------------------------


if [ -z "$SYNCOPT" ]; then
SYNCOPT="-ahR"
fi


if [ df -T df -T /volumeSATA/satashare /volumeUSB*/usbshare | grep -iE "exfat" ]; then
SYNCOPT="-rltDvR"
echo "Da die externe Platte exFAT formatiert ist, wurde SYNCOPT mit folgenden Werten gesetzt: $SYNCOPT" >> $LOG
fi


# Fehlererkennung
#-------------------------------------------------------------------------
 
Zuletzt bearbeitet:
Ja, genauso meinte ich das. Die Variabel SYNCOPT kann standardmäßig mit dem Wert -ahR gefüllt werden (oder mit was auch immer) und falls SYNCOPT nicht gesetzt ist, wird es durch die Abfrage erledigt. Sollte dann ein exFAT gefunden werden, dann wird SYNCOPT dementsprechend umgeschrieben.

So gefällt mir das.

Tommes
 
@Psycho - wo muss ich den Code denn ändern/einbringen??
 
Im Script findest du den Bereich...

Code:
# Ordner/Datei für das Protokoll anlegen und Kopfdaten generieren
#-------------------------------------------------------------------------
# E-Mail-Kopf aufbauen...
if [ -n "$EMAIL" ]; then
  echo "To: $EMAIL" > $LOG
  echo "From: $EMAIL" >> $LOG
  echo "Subject: Sicherungsprotokoll vom $TIMESTAMP Uhr" >> $LOG
  echo "" >> $LOG
  echo "Ausgefuehrtes RSync-Script: $SCRIPTFILE" >> $LOG
  echo "" >> $LOG; echo "$HR" >> $LOG
# Protokoll-Kopf aufbauen...
else
  echo "Sicherungsprotokoll vom $TIMESTAMP Uhr" >> $LOG
  echo "" >> $LOG
  echo "Ausgefuehrtes RSync-Script: $SCRIPTFILE" >> $LOG
  echo "" >> $LOG; echo "$HR" >> $LOG
fi

Direkt darunter kannst du dann den Script-Schnipsel einfügen, also noch vor...

Code:
# Fehlererkennung
#-------------------------------------------------------------------------
 
Läuft fehlerfrei durch! Start- und auch Mitteilung der Fertigstellung erscheinen. Man seid Ihr gut :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat