BackUp unter Ubuntu

#0
02.04.2011, 11:27
Member
Avatar cyberjokey

Beiträge: 36
#1 Hallo Leute,
ich hab folgendes Problem:

Ich würde mir gerne einen BackUp Script schreiben, der mir, wenn ich zuhause bin, automatisch GEÄNDERTE Dateien auf meinen Samba Server kopiert. Ich hab so einen Script schon mal für Windows in Batch geschrieben (Anhang). Betriebsystem ist Ubuntu 10.10.

1. Frage:
Wie bekomm ich den Script dazu, dass er sich ausführt, wenn ich bei mir daheim im W-Lan bin?
2. Frage:
Ich verwende im Moment smbmount zum Mounten der Samba Shares (der efehl funktioniert bei mir nicht ohne Sudo-Rechte). Wie bekomm ich es hin, dass der Script mich nicht mit der Passworteingabe nervt?
3. Frage:
Wie bekomm ich es hin, dass der Script weiß, welche Dateien seit dem letzten BackUp geändert worden sind (so wie robocopy bzw xcopy bei Windows)?


Ich freu mich auf Antworten,
CyberJokey

Anhang: BackUp.bat

__________
Ich weiß es nicht... FaceBook basiert entweder auf einem Fußballverein in Amsterdam, einer CIA-Operation im Iran oder einem Putzmittel-Marke von Colgate-Palmolive...
Seitenanfang Seitenende
02.04.2011, 11:45
Member
Avatar Xeper

Beiträge: 5291
#2 Da Batchdateien unter POSIX Systeme keinerlei Bedeutung haben, weiß ich nicht so genau was du damit willst.
Das Äquivalent wären Shellscripts, ich würde aber trotzdem nun ganz spontan eher eine Scriptsprache empfehlen (Python oder Perl).

Es gibt zig freie Backuplösungen für GNU/Linux basierende Betriebsysteme, natürlich kann man sich auch selber was scripten - ich empfehle nun mal spontan:

* app-backup/dar
::gentoo 2.3.8* (2.3.9)K {:0}
::installed 2.3.8 {:0}
app-backup/dar-2.3.8:0::installed
Description A full featured backup tool, aimed for disks (floppy,CDR(W),DVDR(W),zip,jazz etc.)
Homepage http://dar.linux.free.fr/
From repositories gentoo
Installed time Thu Apr 30 23:39:17 CEST 2009
License GPL-2

Die 3. Frage ist somit beantwortet da dar i.d.R keine Probleme mit inkrementellen Backups hat.

Zitat

1. Frage:
Wie bekomm ich den Script dazu, dass er sich ausführt, wenn ich bei mir daheim im W-Lan bin?

2. Frage:
Ich verwende im Moment smbmount zum Mounten der Samba Shares (der efehl funktioniert bei mir nicht ohne Sudo-Rechte). Wie bekomm ich es hin, dass der Script mich nicht mit der Passworteingabe nervt?
In dem du ein Script codest welches du mit ausreichenden Rechten deklarierst (zb. s sticky bit).
Dein Netz zu erkennen sollte anhand des IP Netzes ja auch kein Problem sein, da gibts verschiedene Möglichkeiten - man kann ja dann schauen ob betreffende Host erreichbar ist und wenn ja dann halt die shares mounten und mit dem inkrementellen Backup beginnen.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
02.04.2011, 12:36
Member

Themenstarter
Avatar cyberjokey

Beiträge: 36
#3

Zitat

Da Batchdateien unter POSIX Systeme keinerlei Bedeutung haben, weiß ich nicht so genau was du damit willst.
Das Äquivalent wären Shellscripts, ich würde aber trotzdem nun ganz spontan eher eine Scriptsprache empfehlen (Python oder Perl).
Wenn ich von Script rede und nichts genaues dazuschreibe meine ich eigentlich immer #!/bin/bash . Ich hab nur die Batchdatei als Anhang reingetan, weil Batch und Shell ähnlich sich (wie ja schon erwähnt wurde), von der Syntax her. Was ist der Vorteil von Perl/Python gegenüber Shell?

Ich hab mir dar angeschaut. Scheint nicht unbedingt das zu sein, dass ich suche. Danke trotzdem.

Ähm... sticky bit? ich versteh jetzt nicht ganz... Ist sticky bit nicht dazu, dass Programme nach dem Beenden im Arbeitsspeicher bleiben, damit sie später schneller starten können? Ich kann mich natürlich auch täuschen.
Mein Problem ist, dass ich einen Befehl als Administrator ausführen muss, damit er funktioniert. Und ich bin nicht Administrator.

Die Idee mit dem pingen des Servers ist gut, aber angenommen ich schreibe den Script bei meinen Autostarts rein, ich starte den Computer, Script wird gestartet, während dessen verbindet sich der Computer mit dem W-Lan, Script pingt den Server, W-Lan ist fertig verbunden, Pingen schlägt fehl und das BackUp findet nicht statt.
Damit das funktioniert müsste der Script mit z.b. sleep warten und sagen wir nach 30 s erst pingen.
Ich glaube da gibt es elegantere Lösungen. Danke trotzdem...

Hoffe immer noch auf Antworten...
__________
Ich weiß es nicht... FaceBook basiert entweder auf einem Fußballverein in Amsterdam, einer CIA-Operation im Iran oder einem Putzmittel-Marke von Colgate-Palmolive...
Seitenanfang Seitenende
02.04.2011, 12:44
Member
Avatar Xeper

Beiträge: 5291
#4

Zitat

....weil Batch und Shell ähnlich sich (wie ja schon erwähnt wurde), von der Syntax her.
Sind sie das?

Zitat

Was ist der Vorteil von Perl/Python gegenüber Shell?
Mehr Möglichkeiten, eine Laufzeit und bessere Syntax... Shellscript ist relativ beschränkt und sorgt für Augenkrebs. ;)

Zitat

Ähm... sticky bit? ich versteh jetzt nicht ganz... Ist sticky bit nicht dazu, dass Programme nach dem Beenden im Arbeitsspeicher bleiben, damit sie später schneller starten können? Ich kann mich natürlich auch täuschen.
Nein da liegst du vollkommen falsch, ein sticky bit ist eh, halt ein bit welches uhm sticky... err fest gepinnt ist.
Und in diesem Bezug rede ich natürlich von chmod, ein chmod u+s würd dein Script immer mit den Rechten des users ausführen (dem das Script gehört), egal welche UID du selber hast.

Zitat

Mein Problem ist, dass ich einen Befehl als Administrator ausführen muss, damit er funktioniert. Und ich bin nicht Administrator.
Das ist totales Pech, es gibt gar keinen Administrator bei POSIX Systemen. Eventuell könntest du root meinen?
In diesem Fall, siehe oben.

Zitat

Die Idee mit dem pingen des Servers ist gut, aber angenommen ich schreibe den Script bei meinen Autostarts rein, ich starte den Computer, Script wird gestartet, während dessen verbindet sich der Computer mit dem W-Lan, Script pingt den Server, W-Lan ist fertig verbunden, Pingen schlägt fehl und das BackUp findet nicht statt.
Damit das funktioniert müsste der Script mit z.b. sleep warten und sagen wir nach 30 s erst pingen.
Ich glaube da gibt es elegantere Lösungen. Danke trotzdem...
Verstehe dein Problem nicht, erstmal sollte deine WLAN Verbindung ja recht früh (oder früher) gestartet sein als die letzten Sachen im Autostart oder in einer benutzerdefinierten Session.
Und was spricht gegen ein Script welches sich zur Laufzeit größtenteils schlafen legt? Ist doch das beste was man dem kernel antuen kann...
Wie gedenkst du denn sonst die WLAN Verbindung zu checken, könntest jetz natürlich im userland rumfummeln und das Netzwerkverbindungs-Script von Ubuntu abändern aber das wäre gar nicht so toll und viel uneleganter.

Edit:

Zitat

Ich hab mir dar angeschaut. Scheint nicht unbedingt das zu sein, dass ich suche. Danke trotzdem.
Erstaunlich dann denke ich das du gar keinen Plan hast was du überhaupt suchst...
Ironischerweise tut es aber genau das was du beschrieben hast...
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
02.04.2011, 13:00
Member

Beiträge: 896
#5 Hallo

Zitat

Ich hab mir dar angeschaut. Scheint nicht unbedingt das zu sein, dass ich suche. Danke trotzdem.
Wieso, tut genau das, was du willst

dann nimm halt rsync


Zitat

ich schreibe den Script bei meinen Autostarts rein, ich starte den Computer, Script wird gestartet, während dessen verbindet sich der Computer mit dem W-Lan, Script pingt den Server, W-Lan ist fertig verbunden, Pingen schlägt fehl und das BackUp findet nicht statt.
Dann mußt du halt so scripten, das 1. anch fehlschlag von ping nicht abgebrochen wird, oder das pingen erst nach 30s stattfindet

Das mit dem mounten vom share, könnte man mit einem backupsambauser lösen (darf mounten - edit sudooers, hat aber weder als unix noch als sambauser ein PW, oder per ssh-keys auch ohne PW ! Ist nat. nicht ganz sicher, aber benötigtt keine PW im Script.

Perl bzw. Python halter ich für ein dummes backupscript für overkill, obwohl man das auch dafür gebrauchen kann.
__________
Mfg
schwedenmann
Seitenanfang Seitenende
02.04.2011, 13:03
Member
Avatar Xeper

Beiträge: 5291
#6

Zitat

Das mit dem mounten vom share, könnte man mit einem backupsambauser lösen (darf mounten - edit sudooers, hat aber weder als unix noch als sambauser ein PW, oder per ssh-keys auch ohne PW ! Ist nat. nicht ganz sicher, aber benötigtt keine PW im Script.
Ja auch ne Möglichkeit, eventuell kann man das share einfach in der fstab festlegen und dann die user Option angeben?
(Das weiß ich leider nicht so genau)

Zitat

Perl bzw. Python halter ich für ein dummes backupscript für overkill, obwohl man das auch dafür gebrauchen kann.
Es geht so, Scriptsprachen sind eig. dafür da einfache Dinge recht schnell zu lösen - ich halte Shellscripts einfach für absolut unlesbar und unstrukturiert.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
02.04.2011, 13:27
Member

Themenstarter
Avatar cyberjokey

Beiträge: 36
#7

Zitat

Sind sie das?
Ja eigentlich schon, oder? In beiden Fällen setzt man die Befehle nacheinander in eine Datei.
Beispiel:
Batch:

cd Ordner
cd Unterordner
md neuer_Ordner
echo Neuer Ordner wurde erstellt.

Shell:

cd Ordner
cd Unterordner
mkdir neuer_Ordner
echo Neuer Ordner wurde erstellt.

Ich weiß es ist total ein primitives Beispiel, aber man kann nicht abstreiten, dass es ein paar Parallelen gibt.

Zitat

Nein da liegst du vollkommen falsch, ein sticky bit ist eh, halt ein bit welches uhm sticky... err fest gepinnt ist.
Und in diesem Bezug rede ich natürlich von chmod, ein chmod u+s würd dein Script immer mit den Rechten des users ausführen (dem das Script gehört), egal welche UID du selber hast.
Ich hab mir schnell mal den Wikipedia Artikel durchgeschaut:
http://de.wikipedia.org/wiki/Sticky_Bit#Bei_ausf.C3.BChrbaren_Dateien
Und Wikipedia sagt irgendwie das gleiche, wie ich... Aber es kann durchaus sein, dass Stupidedia leicht auf Wikipedia abgefärbt hat...

Zitat

Das ist totales Pech, es gibt gar keinen Administrator bei POSIX Systemen. Eventuell könntest du root meinen?
In diesem Fall, siehe oben.
Ich zitiere mal wieder Wikipedia:

Zitat

Administrator-Konto – das Haupt- oder Wurzel-Konto eines Betriebssystems, siehe Root-Konto
Administrator ist definiert, als ein Verwalter von Computersystemen mit umfassenden Rechten auf dem System.
Root ist ein Benutzerkonto mit größtmöglichen Rechten.
=> Administrator verwendet auf POSIX Systemen das root Konto. => Administrator Rechte entsprechen den Rechten des Root Kontos.

Zitat

Verstehe dein Problem nicht, erstmal sollte deine WLAN Verbindung ja recht früh (oder früher) gestartet sein als die letzten Sachen im Autostart oder in einer benutzerdefinierten Session.
Und was spricht gegen ein Script welches sich zur Laufzeit größtenteils schlafen legt? Ist doch das beste was man dem kernel antuen kaErstaunlich dann denke ich das du gar keinen Plan hast was du überhaupt suchst...
Ironischerweise tut es aber genau das was du beschrieben hast...nn...
Wie gedenkst du denn sonst die WLAN Verbindung zu checken, könntest jetz natürlich im userland rumfummeln und das Netzwerkverbindungs-Script von Ubuntu abändern aber das wäre gar nicht so toll und viel uneleganter.
Ich weiß ja nicht, welchen Netzwerkmanger du verwendest, ich für meinen Teil verwende nm-applet (Standard von Gnome unter Ubuntu) und der braucht wirklich teilweise extrem lang zum Verbinden zumindest bei mir...
Gegen Schlaf spricht nichts, ausser, dass dann die Arbeitsphase des Scripts (Also die Zeit in der er Traffik, CPU-Leistung, RAM, etc in größeren Mengen beansprucht) mehr in die Zeit verschoben wird, in der der Computer zum Arbeiten genutzt wird... Auf einem schwachen Computer, wie meinen kann das dann schon was ausmachen.
Ich habe keine Ahnung, wie ich es sonst lösen könnte... Darum schreibe ich ja in dieses Forum...


Zitat

Erstaunlich dann denke ich das du gar keinen Plan hast was du überhaupt suchst...
Ironischerweise tut es aber genau das was du beschrieben hast...
Sollte dar wirklich das tun, was ich brauche, bin ich zu blöd zum finden. Wär nett, wenn du mir schreiben könntest, wie das gehen soll...
Angenommen ich wie die Ordner (alle in /home/benutzername) "Documents", "got files", "lmms", "Music", "Pictures", "Videos" und alle Dateien (keine Ordner) in /home/benutzername kopieren... Der Ziel Ordner ist dann /home/benutzername/samba/D/private/benutzername/BackUp (Datum)/

Ich freue mich auf Antwort....
__________
Ich weiß es nicht... FaceBook basiert entweder auf einem Fußballverein in Amsterdam, einer CIA-Operation im Iran oder einem Putzmittel-Marke von Colgate-Palmolive...
Seitenanfang Seitenende
02.04.2011, 13:36
Member
Avatar Xeper

Beiträge: 5291
#8

Zitat

=> Administrator verwendet auf POSIX Systemen das root Konto. => Administrator Rechte entsprechen den Rechten des Root Kontos.
Sorry hab noch nie Administrator Konten auf irgendwelchen POSIX Systemen gesehen und ich hab schon viele Systeme gesehen.

Zitat

Gegen Schlaf spricht nichts, ausser, dass dann die Arbeitsphase des Scripts (Also die Zeit in der er Traffik, CPU-Leistung, RAM, etc in größeren Mengen beansprucht) mehr in die Zeit verschoben wird, in der der Computer zum Arbeiten genutzt wird... Auf einem schwachen Computer, wie meinen kann das dann schon was ausmachen.
...
Ich habe keine Ahnung, wie ich es sonst lösen könnte... Darum schreibe ich ja in dieses Forum...
Das ist völlig falsch, wenn ein Prozess sich schlafen legt wechselt der Kernel den Kontext und ein anderer Prozess bekommt die frei gewordene CPU Zeit.
Schlafende Programme verbrauchen keine Ressourcen mal ganz davon abgesehen das irgendwie jedes Programm einen gewissen Speicher benötigt der aber bei einem solchen Script extrem gering sein dürfte.

Es ist ein gängiges Prozedere das man so Programme schreibt die etwas überwachen sollen:
(für GUI Apps gibt es natürlich noch andere asynchrone Möglichkeiten wie timer etc.. würde aber den Thread sprengen)

Code

while(1) { Überwache_Zeugs(); sleep(3); }

Zitat

Sollte dar wirklich das tun, was ich brauche, bin ich zu blöd zum finden.
dar benutzt Archive, wenn du wirklich nur das selbe quasi woanders haben willst snychronisiert hat dir schwedenmann ja schon gesagt, rsync ist eine gute Wahl.
Darüber hinaus gibt es noch mehrere Scripte und Lösungen dafür.

Zitat

Ich weiß es ist total ein primitives Beispiel, aber man kann nicht abstreiten, dass es ein paar Parallelen gibt.
Stimme ich dir zu, vermutlich habe ich auch genau deshalb eine Abneigung gegen Batchscripts.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
02.04.2011, 13:43
Member

Beiträge: 896
#9 Hallo


Wenn du Dateien zwischen Server und lokal abgleichen willst

1. rsync
2. unison

wenn du ein backup (also ein archiv) erstellen wuillst, nimm z.B,. dar

Das Problem mit dem wlan kapier ich nciht so ganz, wenn du doch eh am PC sitzt und wlna automastcih beim booten aktiveirt wird, warum stößt du das script nicht selbst an, dann ist doch wlan schon oben.
__________
Mfg
schwedenmann
Seitenanfang Seitenende
02.04.2011, 14:22
Member

Themenstarter
Avatar cyberjokey

Beiträge: 36
#10 @Xeper

Zitat

Sorry hab noch nie Administrator Konten auf irgendwelchen POSIX Systemen gesehen und ich hab schon viele Systeme gesehen.
Tut mir leid, aber ich rede von Administrator Rechten...
Es mir durchaus bewusst, dass Administratoren (=Verwalter) unter Unix, Linux, etc root verwenden.

Zitat

Das ist völlig falsch, wenn ein Prozess sich schlafen legt wechselt der Kernel den Kontext und ein anderer Prozess bekommt die frei gewordene CPU Zeit.
Schlafende Programme verbrauchen keine Ressourcen mal ganz davon abgesehen das irgendwie jedes Programm einen gewissen Speicher benötigt der aber bei einem solchen Script extrem gering sein dürfte.
Meine Aussage bezieht sich auf die Arbeitsphase und nicht auf den Schlaf, wenn du gelesen hättest was ich geschrieben habe wüsstest du das...

@schwedenmann

Danke für die Antwort... Ich kann leider im Moment nicht testen... Wenn ich es getestet habe sag ich bescheid... Die Idee mit dem manuellen Auslösen des Scriptes ist sicher nicht schlecht, aber ich finde es feiner, wenn der script automatisch startet...
__________
Ich weiß es nicht... FaceBook basiert entweder auf einem Fußballverein in Amsterdam, einer CIA-Operation im Iran oder einem Putzmittel-Marke von Colgate-Palmolive...
Seitenanfang Seitenende
02.04.2011, 14:29
Member

Beiträge: 896
#11 Hallo

Zitat

aber ich finde es feiner, wenn der script automatisch startet...
Dann laß es autom. starten (du kannst das ja auch im entsprechenden runlevel ausführen lassen, bzw. als cronjob laufen und überprüfe ob inet da ist (warte mit dem ping z.B. 40s) oder nicht, wenn ja, führe den Rest des scriptes aus.
__________
Mfg
schwedenmann
Seitenanfang Seitenende
02.04.2011, 14:50
Member
Avatar Xeper

Beiträge: 5291
#12

Zitat

Meine Aussage bezieht sich auf die Arbeitsphase und nicht auf den Schlaf, wenn du gelesen hättest was ich geschrieben habe wüsstest du das...
Naja aber es ergibt keinen Sinn *g*, was für ne Arbeitsphase?
Wovon redest du - du solltest dich mal klarer ausdrücken bitte.
Meinst du die Phase in der das Programm checkt ob der remote Host online ist?
Also da können wir nicht von "Arbeit" sprechen...

Edit:
Ja hab auch jetzt nochmal gelesen was du geschrieben hast, aber tut mir Leid es ergibt wenig Sinn.
Ich weiß ja nicht was du zuhause hast, einen 386er?
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
03.04.2011, 01:16
Member

Themenstarter
Avatar cyberjokey

Beiträge: 36
#13 @ schwedenmann:

Zitat

Dann laß es autom. starten (du kannst das ja auch im entsprechenden runlevel ausführen lassen, bzw. als cronjob laufen und überprüfe ob inet da ist (warte mit dem ping z.B. 40s) oder nicht, wenn ja, führe den Rest des scriptes aus.
Gib mir mal ein Beispiel. Ich versteh nicht ganz, was du meinst...

@xeper:

Zitat

... was für ne Arbeitsphase?
Wovon redest du - du solltest dich mal klarer ausdrücken bitte.

Zitat

... die Arbeitsphase des Scripts (Also die Zeit in der er Traffik, CPU-Leistung, RAM, etc in größeren Mengen beansprucht)
=> Arbeitsphase bei einem BackUp Script... ist eventuell die Phase des Scripts in dem er Resourcen in größeren Mengen braucht (wenn er "arbeitet"). Das ist in unserem Fall, die Zeit in der er kopiert, vergleicht, etc...

Zitat

Ich weiß ja nicht was du zuhause hast, einen 386er?
Fast... Celeron... Aber der Computer ist allgemein Schrott... Bei mir ruckelt Minecraft auf minimaler Grafik... Das muss mir mal einer nachmachen ;);) ...
__________
Ich weiß es nicht... FaceBook basiert entweder auf einem Fußballverein in Amsterdam, einer CIA-Operation im Iran oder einem Putzmittel-Marke von Colgate-Palmolive...
Seitenanfang Seitenende
03.04.2011, 09:08
Member

Beiträge: 896
#14 Hallo

Hier steht was ich meine (auf rc.local benzogen)

http://wiki.ubuntuusers.de/rc.local

Also anstatt in rc3 rc6 trägst du dein script in rc.local ein, außerdem , um dein script bis zum hochfahren des wlan abzuwarten, mußt du sowas wie sleep, oder wait 200 an den Anfang des scripts stellen, dann wird es nach z.B 200s gestartet, zu dieser zweit ist ja wohl wlan oben.
__________
Mfg
schwedenmann
Seitenanfang Seitenende
03.04.2011, 10:38
Member
Avatar Xeper

Beiträge: 5291
#15

Zitat

=> Arbeitsphase bei einem BackUp Script... ist eventuell die Phase des Scripts in dem er Resourcen in größeren Mengen braucht (wenn er "arbeitet"). Das ist in unserem Fall, die Zeit in der er kopiert, vergleicht, etc...
Ok ich entnehme daraus das du nicht viel Ahnung von IT Hardware und ähnliches hast, dass sind nicht irgendwelche Berechnungen oder sowas - die Aufgaben sind mehr als trivial, dass meiste was du verbrauchen wirst ist Netzwerkbandbreite welches bei deinem WLAN wohl zu engpässen führen kann.

Celeron ist natürlich Mist, die Frage ist nun welche Baureihe - wenns ein P3 Celeron ist mein Beileid, trotzdem sollte das Script auf einem P3 machbar sein.
Mit Minecraft hat das hier überhaupt nichts zu tuen.

Edit:
Des weiteren wundert mich sehr das du hier das was du selber machen willst kritisierst, ob das Script es tut oder du manuell per Befehle ist völlig egal - passieren tut das selbe.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Dieser Beitrag wurde am 03.04.2011 um 10:47 Uhr von Xeper editiert.
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: