Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Support RSYNC BACKUP - MV_Backup.sh (Linux - Bash)

AW: RSYNC BACKUP - backup-321tux.sh

Hab schon angefangen, aber jetzt muss ich aufhören, da mir der Kopf raucht. Das mit den Logs und gelöschten Dateien klappt (noch) nicht... Da stehe ich irgendwie auf den Schlauch... Ich werde dannn vermutlich nach Ostern weiter machen
 
AW: RSYNC BACKUP - backup-321tux.sh

Vielen vielen Dank. Nur so als Idee...keine Ahnung, ob es sinnvoll ist....
-Für die gelöschten Objekte den "Geloeschte Dateien" Ordner ganz oben in der Hierarchie behalten und in den Subthreads einen Symlink anlegen, der darauf verweist
-Ähnliches bei den Logfiles. Symlink auf ein Logverzeichnis und die Logfiles mit Threadnummern, anschließend alles in ein File cat'en

Falls es nicht sinnvoll ist, einfach ignorieren. :)
 
AW: RSYNC BACKUP - backup-321tux.sh

Ich habe den Geloechten Dateien Order schon so weit konfiguriert, dass da die alten Daten landen. Logs werden nun mit Nummer erstellt.
Problem ist nur das nohup, dass alle ausgaben von rsync in die nohup.out schreibt. Außerdem erzeugt nohup auch immer eine Fehlermeldung, so dass das Fehlerlog angelegt wird.

Das Sicherungsziel sieht bei meinem kleinen Test jetzt so aus:
Du musst angemeldet sein, um Bilder zu sehen.

Was mir noch viel erscheint ist, dass bis zu 30 rsyncs laufen können. Bei anderen Lösungen wird meistens eine oder zwei rsync instanzen pro cpu kern gestartet.

Die Logs muss ich noch zusammenfassen. Im Originalskript wird u.a. mit grep, sed, awk und ps gearbeitet. Diese will ich noch durch Bashinterne Befehle ersetzen.
 
Zuletzt bearbeitet von einem Moderator:
AW: RSYNC BACKUP - backup-321tux.sh

danke. Kann man nicht einfach auf das nohup verzichten?
30 Instanzen empfinde ich auch als viel. Höchstens 10. Aber auch da würde ich je nach Fall entscheiden.
 
AW: RSYNC BACKUP - backup-321tux.sh

Ich habe nun doch noch ein wenig dran gebastelt und komme nun ohne die extra Programme (sed, ps, ...) aus. Die maxtrhreads sind im Skript erst mal fest auf 10 eingestellt. Ansonsten "vorsichtig" testen. Ich übernehme keine Gewähr, falls was schief geht ;)

Auszug aus der .conf:
# mode[$nr] [optional] Modus für die Sicherung. Parameter "Snapshot" verwenden um Snapshots zu erstellen
# Z.B. "Snapshot", "snapshot" oder "snap" für den Snapshot-Modus
# Z.B. "Multi", "multi" oder "m" für den experimentellem Multi rsync-Modus
# "", "default" oder "Normal" für den Normal-Modus
Was wohl nicht fünktioniert, ist, dass die Dateien im Stammorddner (./) Dateien entfernt werden, wenn sie in der Quelle fehlen... Vielleicht mache ich das manuell...
 
Zuletzt bearbeitet von einem Moderator:
AW: RSYNC BACKUP - backup-321tux.sh

Stand jetzt (16:51) habe ich das Archiv aktualisiert. Im Skript ist jetzt auch noch das Verschieben von auf der Quelle nicht mehr vorhandenen Dateien (./) in das "Geloeschte Dateien"-Verzeichnis drin. Funktioniert auch mit Dateien wie "Ein Test" oder ".bashrc"

Bitte vorsichtig testen und bei Fehlern möglichst genau Beschreiben was schief geht, und was richtig wäre...

PS: Falls Du wirklich 'nen Euro oder so beisteuern willst, dann nimm meinen PayPal-Link:
Bei Amazon hab ich schon viel zu viel Guthaben ;)
 
Zuletzt bearbeitet:
AW: RSYNC BACKUP - backup-321tux.sh

HI MegaV0lt,

danke dir vielmals. Ich werde es vorsichtig testen. Zum Thema Geschwindigkeit...je nach Dateigröße hole ich mit Multi 30%- 70% mehr heraus. Das ist aber sehr abhängig von viele Faktoren und zuletzt eben auch von der Dateigröße. Bei größeren Dateien und einer Vielzahl dessen, nützt es deutlich weniger als bei vielen Kleinen.
Viele Grüße


PS: Paypal done :) hoffe es passt ein wenig. Danke dir.
 
AW: RSYNC BACKUP - backup-321tux.sh

Oha, dann mal herzlichen Dank!
Bin Momentan noch bei meiner Mutter in Bayern. Wenn ich zurückbin kann ich wieder mehr machen. Ich denke aber, dass das Skript laufen sollte, wie es soll.

Kurzer TEST:

Code:
RSYNC BACKUP
  2011 by JaiBee, [URL]http://www.321tux.de/[/URL]
  ==> Version 160327 by Darkwing, [URL]http://Stefan.Blochberger.de/[/URL]
  Verwendete Konfiguration:     /mnt/usbdrive/sbin/test.conf


  Konfiguration von:    Test
  Sicherungsmodus:      Multi rsync (Experimentell)
  Quellverzeichnis(se): /root
  Zielverzeichnis:      /mnt/SSDSA2CT040G3/tmp/Backup-Test/l_root
  Log-Datei:            /mnt/SSDSA2CT040G3/tmp/Backup-Test/l_root/2016-03-28_Test.log
  Exclude:
                        nohup.out
                        var/tmp/
  eMail-Versand an:     root
  Sicherungen:          LÖSCHEN wenn älter als 45 Tage

Profil "Test" wird in 5 Sekunden gestartet.
  Zum Abbrechen [Strg] + [C] drücken
  Zum Pausieren [Strg] + [Z] drücken (Fortsetzen mit "fg")

Sicherung startet (Profil: "Test")
-> Starte rsync-Prozess Nr.: 1
-> Starte rsync-Prozess Nr.: 2
-> Starte rsync-Prozess Nr.: 3
-> Starte rsync-Prozess Nr.: 4
-> Starte rsync-Prozess Nr.: 5
-> Starte rsync-Prozess Nr.: 6
-> Starte rsync-Prozess Nr.: 7
-> Starte rsync-Prozess Nr.: 8
-> Starte rsync-Prozess Nr.: 9 für Dateien im Stammordner
Lösche Sicherungs-Dateien aus /mnt/SSDSA2CT040G3/tmp/Backup-Test/l_root/Geloeschte Dateien, die älter als 45 Tage sind...


Profil "Test" wurde abgeschlossen
Weitere Informationen sowie Fehlermeldungen sind in der Datei:
"/mnt/SSDSA2CT040G3/tmp/Backup-Test/l_root/2016-03-28_Test.log" gespeichert.

==> Sicherungs-Bericht wurde mit "mpack" an root versendet. Es wurden 1 Logdatei(en) angelegt.
Sicherung(en) abgeschlossen.


Es werden je CPU zwei rsync-Prozesse gestartet. Falls die maximalen Prozesse laufen wird vor dem Start weiterer 5 Sekunden gewartet. Während der Sicherung gibt es kene rsync-Ausgaben am Bildschirm.
 
AW: RSYNC BACKUP - backup-321tux.sh

Folgende Frage mal zu dem Backup Script, gibt es auch die Möglichkeit Dateien/Ordner in dem Quellverzeichnis zu löschen die älter als x-Tage sind, nachdem sie abgeholt worden sind.
Beispiel:
ich möchte von einem Webserver alle 38 Tage, also immer nachdem der Monat um ist +7/8 Tage die Bilder für den ganzen Monat abholen und dann diesen dort auch löschen, also für den ganzen Monat.
Die Bilder liegen dort nach Kalenderwochen (01,02... 52,53) geordnet.
Ich könnte es auch nach Kalenderwochen löschen lassen wenn dies einfacher umzusetzen ist.

In meiner Hausautomation setze ich dieses Script auch ein hier werden aber immer die Dateien auf dem Zielverzeichnis gelöscht die älter als x-Tage sind, dass möchte ich aber in dem Fall der Bilder nicht.
Ich möchte erreichen das der Webserver nicht zu voll wird mit Bildern da der Speicherplatz begrenzt ist, denn dies ist jetzt schon zweimal passiert,
 
AW: RSYNC BACKUP - backup-321tux.sh

Du könntest die PRE_ACTION oder POST_ACTION Befehle im Skript nutzen um eine eigenes Skript zu starten, das das löschen übernimmt. Die ACTIONs sind aber Profilunabhängig und werden Vor bzw. nach der Sicherung ausgeführt.

Außerdem kann rsync nach dem Syncen auch Dateien auf der Quelle löschen:
Allerdings kann man dann nicht bestimmen, dass nur Dateien älter als x Tage gelöscht werden.

PS: Habe am Skript in den letzten Tagen noch ein paar Änderungen vorgenommen. Es werden im Multi rsync-Modus nun zwei rsync-Prozesse pro CPU-Kern gestartet. Außerdem wartet das Skript nun auf die laufenden rsync-Prozesse, bevor Logs gesammelt und Mails gesendet werden. Wichtig: in der conf wurde die Funktion func_bak_dir umbenannt in f_bak_dir
 
AW: RSYNC BACKUP - backup-321tux.sh

Ja wenn ich ein eigenes Scipt nutzen könnte würde das reichen, denn ein solches Löschscript habe ich
ich habe mal geschaut aber irgendwie habe ich das nirgends gefunden. Ich nutze noch die Version: 0.98 ist es da evtl. noch nicht drin..?
 
AW: RSYNC BACKUP - backup-321tux.sh

Die Version 0.98 ist noch das Originale Skript. Aktuell ist 160407:
RSYNC BACKUP
2011 by JaiBee,
==> Version 160407 by Darkwing,
Verwendete Konfiguration: /mnt/usbdrive/sbin/test.conf


Ein einfaches find so wie ich es verwende um alte Backups zu lösche müsste gehen. Man kann nach Ordnern älter als oder Dateien älter als suchen und entfernen lassen... Im Skript kannst Du mal bei den Funktionen schauen (f_del_old_backup). Löscht im Angegebenen Ordner Ordner, die älter als x Tage sind.
Ich kann das aber sicher auch als weiter Option (Lösche alte Quelldateien) einbauen ;)
Oder eine Profilabhängige ACTION wäre auch machbar.
Wenn denn die Daten in einem gemeinsamen Unterordner liegen, wäre das halbwegs sicher...
 
AW: RSYNC BACKUP - backup-321tux.sh

OK ich habe ganz oben im Script die Version geschrieben, ich finde aber etwas weiter unten noch diesen Hinweis
VERSION="20140920"

Ja meine Dateien/Bilder liegen so /html/cam/upload 01-52 sind die Kalenderwochen

html
-cam
--upload
---01
---02
.
.
.
---51
---52

was ich aber nciht finde im Script sind die Angaben PRE_ACTION oder POST_ACTION
 
AW: RSYNC BACKUP - backup-321tux.sh

Dein Skript ist noch aus dem Jahr 2014. Du solltest Updaten. Du kannst die neuen conf-Einträge in Deine conf übernehmen oder die neue Conf mit Deinen Einträgen zu den Profilen ergänzen.
Hier die wichtigsten Änderungen in der neuen Beispielconf:
Code:
...
RSYNC_OPT_SNAPSHOT=("-av")                        # Parameter für Modus Snapshot
MOUNT="$(readlink -m /mnt/usbdisk)"               # Falls Einhängepunkt ein Symlink ist
f_bak_dir() {
  BAK_DIR="${TARGET}/Geloeschte Dateien/$(date +%F)/"
}

############################### EMAIL KONFIGURATION #####################################

# MAILPROG     Mailer, der verwendet werden soll. Mögliche Optionen sind:
#              mpack (In Verbindung mit ssmtp), sendmail, sendEmail (http://j.mp/Xo69II)
#              oder eMail (http://j.mp/1LwMBut)
MAILPROG="mpack"   # mpack, sendmail, sendEmail oder email
MAILADRESS=        # Ausfüllen, wenn man kein -e ... verwenden will (z.B. für crontab)
                   # Es wird dann eine eMail versendet
#MAILONLYERRORS="true" # eMail nur bei Fehler versenden. Kann mit -f über die Befehlszeile
                      # angewendet werden. Kommentarzeichen (#) entfernen zum aktivieren

# Einstellungen für den eMail-Bericht
SHOWOS="true"      # Zeige verwendetes Betriebssysten (/etc/os-release)
SHOWOPTIONS="true" # Zeige die verwendeten Optionen beim Skriptaufruf (-p a -e My@mail.de ...)
SHOWUSAGE="true"   # Zeige die Belegung des Sicherungsziels (df -Ph)
SHOWCONTENT="true" # Zeige Inhalt der Sichrungsziele (Oberste Ebene [ls -lh])
SHOWERRORS="true"  # Zeige Profile mit Fehlern (rsync Returncode)

# MAXLOGSIZE   Max. Größe des gepackten Logarchivs in Byte, das per Mail gesendet wird.
#              Bei MAXLOGSIZE=0 wird kein Archiv angehängt. Betrifft nur das Archiv!
MAXLOGSIZE=$((1024*1024)) # 1 MB # Beispiel $((5*1024*1024)) wären 5 MB

# Ausfüllen, wenn "sendEmail" verwendert wird (Diese Parameter werden von sendEmail benötigt)
MAILSERVER=        # Server (z.B. mail.gmx.net)
MAILPORT=          # Port (z.B. 25 oder 587 für TLS)
MAILUSER=          # z.B. My@mail.de
MAILPASS=          # z.B. v784hcnfd <- eMail-Passwort
MAILSENDER=        # Sendeadresse (z.B. My@mail.de)
#USETLS="-o tls=yes" # TLS für die SMTP-Verbindung verwenden

############################### PRE- UND POST KONFIGURATION #############################

# PRE_ACTION wird vor dem Sichern ausgeführt. Anführungszeichen müssen Maskiert (\")
# werden. Beispiel: PRE_ACTION="echo \"PRE_ACTION startet hier!\""
PRE_ACTION=""

# POST_ACTION wird nach dem Sichern ausgeführt. Anführungszeichen müssen Maskiert (\")
# werden
POST_ACTION=""

...
 
AW: RSYNC BACKUP - backup-321tux.sh

ich habe jetzt mal die neue Version benutzt, aber ich bekomme keine Mail mit den gesicherten Dateien. Ich habe weiter nichts überprüft sondern nur meine sendEmail Daten eingetragen wie bei meinem alten Script.
Das alte Script wieder eingespielt und schon funktioniert es weider.

Muss ich noch irgend etwas beachten..?
 
Zurück
Oben