rsync script - Frage

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
cyberurmel
Beiträge: 84
Registriert: 13.05.2013 12:30:59

rsync script - Frage

Beitrag von cyberurmel » 26.07.2013 11:08:48

Hi all,

ich habe einen samba laufen auf /media/sdb1
Diese möchte ich per rsync auf /media/sdc1 syncen per script /cronjob
Sind verschiedene interne Platten aber gleiche Partitionsgröße.

Mein normaler rsync befehlt lautet:

Code: Alles auswählen

rsync --delete -avb --progress /media/sdb1/ /media/sdc1/bpsdb1/ --backup-dir=/media/sdc2/bdel/ --log-file=/media/sdc1/logs/rsync.log
Kann ich den jetzt einfach mit nano als .sh so speichern und mittels crontab aufrufen?

Code: Alles auswählen

#!/bin/bash
rsync --delete -avb --progress /media/sdb1/ /media/sdc1/bpsdb1/ --backup-dir=/media/sdc2/bdel/  --log-file=/media/sdc1/logs/rsync.log
fi
Kann ich da noch ne mail Funktion einbauen , die informiert wenn ein Fehler wäre?
Thx vorab

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: rsync script - Frage

Beitrag von syssi » 26.07.2013 11:14:56

Code: Alles auswählen

#!/bin/bash

if ! /usr/bin/rsync --delete -avb --progress /media/sdb1/ /media/sdc1/bpsdb1/ --backup-dir=/media/sdc2/bdel/  --log-file=/media/sdc1/logs/rsync.log
then
  echo Fehler | mail root
fi
Wenn es aber sowieso als Cronjob laeuft, dann schickt der Cronjob schon eine Mail, wenn rsync eine Ausgabe produziert. Du solltest also dafuer sorgen, dass rsync in den normalen Durchlaeufen ungespraechig ist und nur Fehlermeldungen ausgibt. In der Regel erreicht man das, indem man die Standardausgabe nach /dev/null schickt und nur Standard-Error vom Cronjob verschickt wird:

Code: Alles auswählen

#!/bin/bash

/usr/bin/rsync --delete -avb --progress /media/sdb1/ /media/sdc1/bpsdb1/ --backup-dir=/media/sdc2/bdel/  --log-file=/media/sdc1/logs/rsync.log >/dev/null

cyberurmel
Beiträge: 84
Registriert: 13.05.2013 12:30:59

Re: rsync script - Frage

Beitrag von cyberurmel » 26.07.2013 12:20:35

hi und vielen Dank

werde ich so dann mal testen. - vielleicht noch die Frage ob es (abgesehen das dort das primäre Verzeichnis für ausführbare Dateien)
egal ist von wo das skript gestartet wird?
Und grundsätzlich kann ich dann solche einfachen Skripte 1:1 übernehmen nur mit Pfad dazu ? also:

Code: Alles auswählen

#!/bin/bash 

/usr/bin/skriptname  befehl 
  
greets

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: rsync script - Frage

Beitrag von Cae » 26.07.2013 14:41:22

cyberurmel hat geschrieben:werde ich so dann mal testen. - vielleicht noch die Frage ob es (abgesehen das dort das primäre Verzeichnis für ausführbare Dateien)
egal ist von wo das skript gestartet wird?
Ja, sofern das darunter liegende Dateisystem nicht mit noexec gemountet ist. Falls es im PATH sein soll, wuerde man es traditionell nach /usr/local/sbin/ stecken (nicht bin/, weil's ein Administrationsskipt fuer root ist). Falls nicht, nach /usr/local/.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: rsync script - Frage

Beitrag von syssi » 26.07.2013 14:42:27

Du musst lediglich sicherstellen, dass die Umgebungsvariable PATH gesetzt ist und /usr/bin enthaelt, dann kannst du dir auch die absoluten Pfade sparen. Ich habe den Pfad nur zur Sicherheit absolut gemacht, damit es bei einem nicht gesetzten PATH keine Probleme gibt.

cyberurmel
Beiträge: 84
Registriert: 13.05.2013 12:30:59

Re: rsync script - Frage

Beitrag von cyberurmel » 26.07.2013 16:13:40

ok...danke

Jetzt habe ich es mal testen wollen und mein RAM läuft voll... laut Faq dürfte das aber nur bei vielen Daten sein. Ich habe 15 Ordner und in einem ca 20 Unterordner mit je 1-2 Dateien a 3-5 GB.
???
Was kann ich da tun?
greets

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: rsync script - Frage

Beitrag von Cae » 26.07.2013 16:24:07

Swap anlegen/vergroessern?

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

cyberurmel
Beiträge: 84
Registriert: 13.05.2013 12:30:59

Re: rsync script - Frage

Beitrag von cyberurmel » 29.07.2013 09:18:56

Hallo Cae,

darauf wäre ich jetzt gar nicht gekommen. Dachte nicht das das volläuft.
Meine Swap ist 6 GB und mein RAM 8 GB .
An was muss ich mich da orientieren wieviel ich für das rsync brauche? Da ich ja synce und die Part 950 GB groß ist , ist da ne Menge Spielraum :)
Also da auch Filme darauf sind - sind einzelne files im 5-8GB Bereich durchaus möglich.
Jetzt größer machen oder "einfach" swapd nehmen?

thx für deine Meinung
greets
Cyb

uname
Beiträge: 12406
Registriert: 03.06.2008 09:33:02

Re: rsync script - Frage

Beitrag von uname » 29.07.2013 10:46:01

Ich denke mal dass der RAM vollläuft liegt eher an einem fehlerhaften Aufruf. Schau dir mal während der Ausführung die Prozessliste mit top, htop oder aus pstree an.

cyberurmel
Beiträge: 84
Registriert: 13.05.2013 12:30:59

Re: rsync script - Frage

Beitrag von cyberurmel » 29.07.2013 12:01:33

Hi .

ok - ich gebe ja zu das ich gar nicht wirklich weiß wonach ich da schauen soll :cry:

Ich sehe der Ram läuft zu , dann schreibt er auf die swap.
Mit htop habe ich gesehen das er zigtausend PID aufmacht mit dem Befehl und auch Memory volläuft . Dann bekomme ich die Meldung:
/usr/bin/rsync: fork: Nicht genügend Hauptspeicher verfügbar

und nun?

thx vorab

uname
Beiträge: 12406
Registriert: 03.06.2008 09:33:02

Re: rsync script - Frage

Beitrag von uname » 29.07.2013 12:59:51

Poste mal wie du aufrufst und wie die Datei genau aussieht.

cyberurmel
Beiträge: 84
Registriert: 13.05.2013 12:30:59

Re: rsync script - Frage

Beitrag von cyberurmel » 29.07.2013 13:15:48

Hi uname ,

wie oben bereits geschrieben- Aufruf über

Code: Alles auswählen

rsync --delete -avb --progress /media/sdb1/ /media/sdc1/bpsdb1/ --backup-dir=/media/sdc2/bdel/
Wobei ja die ganze Partition kopiert werden soll also hier

Code: Alles auswählen

/media/sdb1/ /media/sdc1/bpsdb1/ 
von part sdb1 in sdc1/bpsdb/
Die sdb1 ist der filestore von meinem Samba Server.

10 Verzeichnisse , eins davon mit ca .10 Unterordner - zwischen 500MB und 10 GB groß (Filme). Insgesamt 60GB.
Das wollte ich zum testen nehmen bevor ich die anderen Ordner fülle- aber siehe zuvor funzt nicht.

ach ja in den Ordner sind es ja meist nur 2 files : .DS_Store und film.mkv

hilft das weiter?
greets
Cyb

Benutzeravatar
AndyJ9
Beiträge: 29
Registriert: 15.01.2013 16:39:54
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: rsync script - Frage

Beitrag von AndyJ9 » 29.07.2013 13:48:12

cyberurmel hat geschrieben: Mein normaler rsync befehlt lautet:

Code: Alles auswählen

rsync --delete -avb --progress /media/sdb1/ /media/sdc1/bpsdb1/ --backup-dir=/media/sdc2/bdel/ --log-file=/media/sdc1/logs/rsync.log
Kann ich den jetzt einfach mit nano als .sh so speichern und mittels crontab aufrufen?

Code: Alles auswählen

#!/bin/bash
rsync --delete -avb --progress /media/sdb1/ /media/sdc1/bpsdb1/ --backup-dir=/media/sdc2/bdel/  --log-file=/media/sdc1/logs/rsync.log
fi
Ich vermute das Problem in dem "--progress".
"--progress" wird verwendet um "aktiv" den erreichten Zustand anzuzeigen. Das ganz aus einem Script ohne Bildschirmausgabe aufgerufen könnte zu Problemen führen.
Versuch doch das "--progress" mal wegzulassen.

cyberurmel
Beiträge: 84
Registriert: 13.05.2013 12:30:59

Re: rsync script - Frage

Beitrag von cyberurmel » 29.07.2013 16:14:57

Hi ,
das hatte ich auch schon versucht. Auch ohne logfile rein nur

Code: Alles auswählen

rsync --delete -avb --progress /media/sdb1/ /media/sdc1/bpsdb1/ --backup-dir=/media/sdc2/bdel/
brachte aber auch nichts.
Es muss mit den Daten zusammen hängen oder deren Größe.
Das Grundgerüst ohne Inhalte der Daten hat er ja über dieselbe Syntax gemacht. Ohne Probs.
Auch das mit dem deleten in das andere Verzeichnis- Kein Problem. Erst mit den Inhalten ist er so hochgelaufen.
Und abgesehen von deren Größe sind es vielleicht 40 files mit Ordner.
greets

cyberurmel
Beiträge: 84
Registriert: 13.05.2013 12:30:59

[gelöst] Re: rsync script - Frage

Beitrag von cyberurmel » 01.08.2013 13:14:16

Hi,

habe mit dpkg -C fehlerhaftes Paket (Prüfsumme) deinstalliert. Wieder installiert. rsync deninstalliert - installiert.
Und siehe da... es geht - selbe Syntax da paste und copy. Also hatte (s)ich wohl was im System irgendwie zerdübelt gehabt.

thx
greets
cyb

ach .ja..wie kriege ich denn das gelöst vor den Tröt? :D

Antworten