Synchronistion Over Network with RSYNC
Synchronistion Over Network with RSYNC
hallo männers,
ich bräuchte ein script was mit rsync übers netzwerk daten abgleicht...
die sufu war leider nicht speziell genug für meine bedürfnisse!
ich würde gerne Platz A mit Platz B syncen
Platz A - Raid (192.168.100.1 - 24TB) ist der Server auf dem alles liegt
Platz B hat zwei raids (RAID1 = 12TB) und (RAID2 = 12TB)
Am besten wäre es wenn das script nur die daten RECURSIVE abgleicht von den ordnern die es in Platz B in den beiden raids findet!
(am betsen über Nacht, wenn niemand das netzwerk braucht)
Also sozusagen sollte das script nur die ordner syncen die es in der Destination findet.
Wenn also ein Ordner von A auf B fehlen würde, würde das Project nicht gesynced werden
Habe mir rsyc angeguckt ... nur bin ich ziemlich ratlos wie ich es am besten erstellen könnte mit meinen Vorgaben...
(ich habe alle passwörter für die maschienen)
Wäre super wenn mir da jemand unter die Arme greifen könnte
Dankend verbliebe ich und freue mich auf eure ideen
ich bräuchte ein script was mit rsync übers netzwerk daten abgleicht...
die sufu war leider nicht speziell genug für meine bedürfnisse!
ich würde gerne Platz A mit Platz B syncen
Platz A - Raid (192.168.100.1 - 24TB) ist der Server auf dem alles liegt
Platz B hat zwei raids (RAID1 = 12TB) und (RAID2 = 12TB)
Am besten wäre es wenn das script nur die daten RECURSIVE abgleicht von den ordnern die es in Platz B in den beiden raids findet!
(am betsen über Nacht, wenn niemand das netzwerk braucht)
Also sozusagen sollte das script nur die ordner syncen die es in der Destination findet.
Wenn also ein Ordner von A auf B fehlen würde, würde das Project nicht gesynced werden
Habe mir rsyc angeguckt ... nur bin ich ziemlich ratlos wie ich es am besten erstellen könnte mit meinen Vorgaben...
(ich habe alle passwörter für die maschienen)
Wäre super wenn mir da jemand unter die Arme greifen könnte
Dankend verbliebe ich und freue mich auf eure ideen
- Six
- Beiträge: 8069
- Registriert: 21.12.2001 13:39:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Siegburg
Re: Synchronistion Over Network with RSYNC
Geht es hier um Replikation oder um Backup?
Be seeing you!
Re: Synchronistion Over Network with RSYNC
guten morgen,
recursive file synchronisation trifft es besser
recursive file synchronisation trifft es besser
Re: Synchronistion Over Network with RSYNC
also kurz gesagt soll ein script in einen ordner destinationordner schauen, welche projectordner schon da sind und die aus der source recursive synchronisieren mit rsync.
kann mir jemand helfen?
ein anfang hätte ich schonmal....das macht ein backup vom source to destination.....bräuchte das etwas modifiziert wie gesagt: er sollte erst in die destination schaun, um zu wissen welche ordner er synchronisieren soll - nur die die auch in der destination vorliegen!
danke im vorraus für eure ganze müh
kann mir jemand helfen?
ein anfang hätte ich schonmal....das macht ein backup vom source to destination.....bräuchte das etwas modifiziert wie gesagt: er sollte erst in die destination schaun, um zu wissen welche ordner er synchronisieren soll - nur die die auch in der destination vorliegen!
Code: Alles auswählen
#!/bin/sh
MAILADDR=david@xyz.de
HOSTNAME=mothership
BACKUPDIR=directory_you_want_to_backup
EXCLUDES=example_exclude_file
ARCHIVEROOT=directory_to_backup_to
# directory which holds our current datastore
CURRENT=main
# directory which we save incremental changes to
INCREMENTDIR=`date +%Y-%m-%d`
# options to pass to rsync
OPTIONS="--force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av"
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
# make sure our backup tree exists
install -d $ARCHIVEROOT/$CURRENT
# our actual rsyncing function
do_rsync()
{
rsync $OPTIONS $BACKUPDIR $ARCHIVEROOT/$CURRENT
}
# our post rsync accounting function
do_accounting()
{
echo "Backup Accounting for Day $INCREMENTDIR on $HOSTNAME:">/tmp/rsync_script_tmpfile
echo >> /tmp/rsync_script_tmpfile
echo "################################################">>/tmp/rsync_script_tmpfile
du -s $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile
echo "Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile"
Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile
echo "rm /tmp/rsync_script_tmpfile"
rm /tmp/rsync_script_tmpfile
}
# some error handling and/or run our backup and accounting
if [ -f $EXCLUDES ]; then
if [ -d $BACKUPDIR ]; then
# now the actual transfer
do_rsync && do_accounting
else
echo "cant find $BACKUPDIR"; exit
fi
else
echo "cant find $EXCLUDES"; exit
fi
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Synchronistion Over Network with RSYNC
Code: Alles auswählen
PROJECTS=$(ssh user@server2 ls /destination)
if [ $? -eq 0 ];
then
rsync -avzP /source/$PROJECTS user@server2:/destination
fi
Re: Synchronistion Over Network with RSYNC
das sieht schonmal gut aus syssi
erstmal dafür gedankt!!!
kannst mir vielleicht noch erklären was es genau macht und an welche stelle du es setzen würdest?
warum ssh?
das destination und source hat zwar eine user und passwortabfrage aber die kann ganz normal via tcp/ip (nfs oder smb) gewählt werden oder ist das unsinn was ich gerade erzähle und es macht gar nix zur sache ob das via ssh passiert?!
also eigentlich wollt ich es über nfs realisieren
dankend verbleibe ich
erstmal dafür gedankt!!!
kannst mir vielleicht noch erklären was es genau macht und an welche stelle du es setzen würdest?
warum ssh?
das destination und source hat zwar eine user und passwortabfrage aber die kann ganz normal via tcp/ip (nfs oder smb) gewählt werden oder ist das unsinn was ich gerade erzähle und es macht gar nix zur sache ob das via ssh passiert?!
also eigentlich wollt ich es über nfs realisieren
dankend verbleibe ich
Re: Synchronistion Over Network with RSYNC
ok ich sehe das rsync über nfs läuft, aber warum dieser schritt mit ssh?
da müsste mich jemand aufklären und es wäre super nett, wenn es gleich jemand richtig einbaut....bin etwas überfordert im moment
wäre ja praktisch, wegen den integ. logs im script und weiteres....
(hilft sicherlich einigen so ein spez. script)
DANKEEEE
da müsste mich jemand aufklären und es wäre super nett, wenn es gleich jemand richtig einbaut....bin etwas überfordert im moment
wäre ja praktisch, wegen den integ. logs im script und weiteres....
(hilft sicherlich einigen so ein spez. script)
DANKEEEE
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Synchronistion Over Network with RSYNC
Oh, ich dachte dir waere klar, was rsync genau ist und wie es funktioniert. Also erstmal: Rsync bringt in der Regel ein Ziel auf den Stand der Quelle. Ob man Rsync auf dem Rechner, wo die Quelle liegt ausfuehrt oder auf dem Rechner, wo das Ziel liegt ausfuehrt ist erstmal egal. Hauptsache man dreht die Parameter hinter dem rsync-Aufruf korrekt:
Mit der Zeile synchronisiert man den Ordner "rechner1:/media/test" nach "rechner2:/media/test". Uebertragen wird ueber SSH (SCP). Ausloeser dafuer ist der simple Doppelpunkt. Moechtest du zwei Verzeichnisse per rsync synchronisieren, wovon ein Verzeichnis ein NFS-Mount ist, dann sieht das so aus:
Es ist nun vergleichbar mit einem einfachen "cp -a", wobei nur die Differenzen uebertragen werden. Wenn du sagst, dass dein Remote-System, wohin die Daten gesynct werden sollen per NFS angebunden sind, dann macht das die Sache etwas einfacher und auch verstaendlicher:
In die Variable "PROJECTS" wird die Ausgabe von "ls /mnt/nfs/projects" geschrieben. Angenommen im Ordner /mnt/nfs/projects liegen drei Projekte, dann wuerde ein "echo $PROJECTS" folgenden String zurueck liefern "project1 project2 project3". Setzen wir die Variable PROJECTS als Rsync-Parameter, dann kommt es folgendem Aufruf gleich:
Gruss syssi
Code: Alles auswählen
# wir befinden uns auf rechner1
rsync -avzP /media/test root@server2:/media/test
Code: Alles auswählen
rsync -avzP /media/test /mnt/nfs/test
Code: Alles auswählen
PROJECTS=$(ls /mnt/nfs/projects)
rsync -avzP $PROJECTS /mnt/nfs/projects
Code: Alles auswählen
rsync -avzP proejct1 project2 project3 /mnt/nfs/projects
Re: Synchronistion Over Network with RSYNC
Angenommen im Ordner /mnt/nfs/projects liegen drei Projekte, dann wuerde ein "echo $PROJECTS" folgenden String zurueck liefern "project1 project2 project3"
ok ich versuche zu verstehen....
wir sind auf dem quellsystem!
das ist aber dann nicht ganz korrekt...dort liegen ja alle projecte und das raid wo es hinsoll (destination) ist nur halb so groß
also sollte er ja eigentlich nur die ordner synchen die ich erstelle in der destination oder versteh ich etwas falsch!?
du schreibst ja wenn es drei ordner beinhaltet, synced er die drei auch
sorry hab wenig erfahrung
ok ich versuche zu verstehen....
wir sind auf dem quellsystem!
das ist aber dann nicht ganz korrekt...dort liegen ja alle projecte und das raid wo es hinsoll (destination) ist nur halb so groß
also sollte er ja eigentlich nur die ordner synchen die ich erstelle in der destination oder versteh ich etwas falsch!?
du schreibst ja wenn es drei ordner beinhaltet, synced er die drei auch
sorry hab wenig erfahrung
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Synchronistion Over Network with RSYNC
Okay, dann war ich nicht deutlich genug. Wir machen es mal ein wenig anschaulicher:
Dann haben wir deinen zweiten Rechner:
Nun gehen wir davon aus, dass rechner2 seine beiden RAIDs per NFS exportiert. Wir besitzen also zusaetzlich auf rechner1 die Mountpoints:
Im Verzeichnis /mnt/rechner2-raid1 finden sich nur die Projekte "project1" und "project2". Nun starten wir auf rechner1 unseren Zweizeiler:
Wir haben eine Liste angefertigt, mit den Projekten, die auf dem kleinen RAID-Verbund liegen. Also die Teilmenge, die wir syncen wollen.
Nun syncen wir alle in der Liste befindlichen Projekte (naemlich "project1" und "project2") nach /mnt/rechner2-raid1. Weil es sich um einen NFS-Mount handelt schreiben wir also die Daten von rechner1 auf rechner2 und haben nur unsere Teilmenge synchronisiert.
Code: Alles auswählen
rechner1 (24tb)
- /data/project1
- /data/project2
- /data/project3
- /data/project4
Code: Alles auswählen
rechner2 (2x 12tb)
- /mnt/raid1
- /mnt/raid2
Code: Alles auswählen
rechner1:
- /mnt/rechner2-raid1
- /mnt/rechner2-raid2
Code: Alles auswählen
PROJECTS=$(ls /mnt/rechner2-raid1)
Code: Alles auswählen
cd /data
rsync $PROJECTS /mnt/rechner2-raid1
Re: Synchronistion Over Network with RSYNC
also würde das script so aussehen ja: ???
also man müsste dann natürlich die pfade anpassen, hab sie erstmal als kommentar etwas genauer beschrieben, damit jemand sagen kann, obs überhaupt so stimmt
DANKEND
Code: Alles auswählen
#!/bin/sh
MAILADDR=david@xyz.de
HOSTNAME=mothership
BACKUPDIR=directory_you_want_to_backup
EXCLUDES=example_exclude_file
ARCHIVEROOT=directory_to_backup_to
# directory which holds our current datastore
CURRENT=main
# directory which we save incremental changes to
INCREMENTDIR=`date +%Y-%m-%d`
# options to pass to rsync
OPTIONS="--force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av"
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
# make sure our backup tree exists
install -d $ARCHIVEROOT/$CURRENT
# our actual rsyncing function
do_rsync()
{
####vorgabe######rsync $OPTIONS $BACKUPDIR $ARCHIVEROOT/$CURRENT
#PROJECTS=$(ls /mnt/externer_quell_all_projects_server/nfs/projects)
#rsync -avzP $PROJECTS /mnt/unserer_lokaler_backup_server/raid1-2/nfs/projects
PROJECTS=$(ls $BACKUPDIR)
rsync -avzP $PROJECTS $ARCHIVEROOT/$CURRENT
}
# our post rsync accounting function
do_accounting()
{
echo "Backup Accounting for Day $INCREMENTDIR on $HOSTNAME:">/tmp/rsync_script_tmpfile
echo >> /tmp/rsync_script_tmpfile
echo "################################################">>/tmp/rsync_script_tmpfile
du -s $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile
echo "Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile"
Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile
echo "rm /tmp/rsync_script_tmpfile"
rm /tmp/rsync_script_tmpfile
}
# some error handling and/or run our backup and accounting
if [ -f $EXCLUDES ]; then
if [ -d $BACKUPDIR ]; then
# now the actual transfer
do_rsync && do_accounting
else
echo "cant find $BACKUPDIR"; exit
fi
else
echo "cant find $EXCLUDES"; exit
fi
DANKEND
Zuletzt geändert von OnkelDave am 03.01.2011 14:58:11, insgesamt 1-mal geändert.
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Synchronistion Over Network with RSYNC
Am Anfang des Themas sagtest du, dass du nur synchronisieren willst und keine inkrementellen Backups. Wieso bindest du dir dann dieses Skript ans Bein, von welchem du nur die Haelfte verstehst?
Re: Synchronistion Over Network with RSYNC
naja das script sieht meiner meinung nach, ganz nützlich aus...
die log section gefällt mir sehr gut
Ne ehrlich sowas hab ich gesagt???
ne ich wollte schon, eine incrementenelle synchonisation machen.....also kurz ein backup....aber letzteres ist auslegungssache
ein incr. backup script was über nacht den server synct!
siehst du den grobe fehler im script?
wär wie gesagt ultra wenn es jemand dort probiert einzubauen
brauch halt die logging geschichte, möglichst ausführlich, außerdem ist es so schön in functionen unterteilt, das doch sehr übersichtlich....
hab ehrlich gesagt nur probleme mit meinen wünschen....
die log section gefällt mir sehr gut
Ne ehrlich sowas hab ich gesagt???
ne ich wollte schon, eine incrementenelle synchonisation machen.....also kurz ein backup....aber letzteres ist auslegungssache
ein incr. backup script was über nacht den server synct!
siehst du den grobe fehler im script?
wär wie gesagt ultra wenn es jemand dort probiert einzubauen
brauch halt die logging geschichte, möglichst ausführlich, außerdem ist es so schön in functionen unterteilt, das doch sehr übersichtlich....
hab ehrlich gesagt nur probleme mit meinen wünschen....
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Synchronistion Over Network with RSYNC
Der Mittelteil sollte so aussehen:
Code: Alles auswählen
PROJECTS=$(ls $ARCHIVEROOT/$CURRENT)
cd $BACKUPDIR
rsync -avzP $PROJECTS $ARCHIVEROOT/$CURRENT
Re: Synchronistion Over Network with RSYNC
ok es geht!!!!
POWER DANKE!!!!!
das dumme is nur das er die files, die er neuerstellen muss, als irgendson trottel benutzer erstellt, der im netzwerk für alle anderen, kein zugriff bekommt!
ähm etwas kompli....
also die daten die er erstellt, kann sich dann kein anderer mehr anschaun - access denied!
wie kann ich dem script deutlich vermitteln das er das als root:smbuser tun soll???
oder die berechtigungen einfach auf chmod -R 777 setzen dürfte....?
dankend verbleibe ich
war schonmal best help ever
POWER DANKE!!!!!
das dumme is nur das er die files, die er neuerstellen muss, als irgendson trottel benutzer erstellt, der im netzwerk für alle anderen, kein zugriff bekommt!
ähm etwas kompli....
also die daten die er erstellt, kann sich dann kein anderer mehr anschaun - access denied!
wie kann ich dem script deutlich vermitteln das er das als root:smbuser tun soll???
oder die berechtigungen einfach auf chmod -R 777 setzen dürfte....?
dankend verbleibe ich
war schonmal best help ever
Re: Synchronistion Over Network with RSYNC
chmod=ugo=rwX
das man rsync hat mich gerettet
das man rsync hat mich gerettet
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Synchronistion Over Network with RSYNC
Das ist eine NFS Einstellung. Mach dich mal schlau, wofuer man NIS einsetzt bzw. wie man UIDs auf zwei Rechnern angleicht.
Re: Synchronistion Over Network with RSYNC
@ syssi
er fühllt die bits mit einsen auf .. also doch chmod 777 oder nicht ?!
ok letztes problem!!!!
wenn ich eine datei verändere...dann überträgt er die mit aktuellen datum in ein neues verzeichniss in das zu archivierende verzeichniss!
er sollte die datei aber ersetzen und keinen extra ordner erstellen, ist zwar ne tolle idee, sprengt aber bei täglichen änderrungen von 200gb eindeutig den rahmen!
wäre super wenn nochmal jemand rüberschaut, was man etwas modifizieren müsste an den parametern von rsync......
[code#!/bin/sh
MAILADDR=david@xyz.de
HOSTNAME=mothership
BACKUPDIR=/mnt/databrain/_studio_tmp/_DAVID/Admin
EXCLUDES=/scripte/backup/excludes
ARCHIVEROOT=/mnt/simbolo/projects1
# directory which we save incremental changes to
INCREMENTDIR=`date +%Y-%m-%d`
# options to pass to rsync
OPTIONS="--force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av --chmod=ugo=rwX"
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
# make sure our backup tree exists
install -d $ARCHIVEROOT
# our actual rsyncing function
do_rsync()
{
PROJECTS=$(ls $ARCHIVEROOT)
cd $BACKUPDIR
rsync $OPTIONS $PROJECTS $ARCHIVEROOT
}
# our post rsync accounting function
do_accounting()
{
echo "Backup Accounting for Day $INCREMENTDIR on $HOSTNAME:">/tmp/rsync_script_tmpfile
echo >> /tmp/rsync_script_tmpfile
echo "################################################">>/tmp/rsync_script_tmpfile
du -sh $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile
echo "Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile"
Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile
echo "rm /tmp/rsync_script_tmpfile"
# rm /tmp/rsync_script_tmpfile
}
# some error handling and/or run our backup and accounting
if [ -f $EXCLUDES ]; then
if [ -d $BACKUPDIR ]; then
# now the actual transfer
do_rsync && do_accounting
else
echo "cant find $BACKUPDIR"; exit
fi
else
echo "cant find $EXCLUDES"; exit
fi][/code]
er fühllt die bits mit einsen auf .. also doch chmod 777 oder nicht ?!
ok letztes problem!!!!
wenn ich eine datei verändere...dann überträgt er die mit aktuellen datum in ein neues verzeichniss in das zu archivierende verzeichniss!
er sollte die datei aber ersetzen und keinen extra ordner erstellen, ist zwar ne tolle idee, sprengt aber bei täglichen änderrungen von 200gb eindeutig den rahmen!
wäre super wenn nochmal jemand rüberschaut, was man etwas modifizieren müsste an den parametern von rsync......
[code#!/bin/sh
MAILADDR=david@xyz.de
HOSTNAME=mothership
BACKUPDIR=/mnt/databrain/_studio_tmp/_DAVID/Admin
EXCLUDES=/scripte/backup/excludes
ARCHIVEROOT=/mnt/simbolo/projects1
# directory which we save incremental changes to
INCREMENTDIR=`date +%Y-%m-%d`
# options to pass to rsync
OPTIONS="--force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av --chmod=ugo=rwX"
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
# make sure our backup tree exists
install -d $ARCHIVEROOT
# our actual rsyncing function
do_rsync()
{
PROJECTS=$(ls $ARCHIVEROOT)
cd $BACKUPDIR
rsync $OPTIONS $PROJECTS $ARCHIVEROOT
}
# our post rsync accounting function
do_accounting()
{
echo "Backup Accounting for Day $INCREMENTDIR on $HOSTNAME:">/tmp/rsync_script_tmpfile
echo >> /tmp/rsync_script_tmpfile
echo "################################################">>/tmp/rsync_script_tmpfile
du -sh $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile
echo "Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile"
Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile
echo "rm /tmp/rsync_script_tmpfile"
# rm /tmp/rsync_script_tmpfile
}
# some error handling and/or run our backup and accounting
if [ -f $EXCLUDES ]; then
if [ -d $BACKUPDIR ]; then
# now the actual transfer
do_rsync && do_accounting
else
echo "cant find $BACKUPDIR"; exit
fi
else
echo "cant find $EXCLUDES"; exit
fi][/code]
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Synchronistion Over Network with RSYNC
BITTE mach dir bewusst, was ein inkrementelles Backup ist und was dein Skript tut. Du hast absolut keinen schimmer, was du dir da gerade gebastelt hast.
Re: Synchronistion Over Network with RSYNC
@ syssi
ein incrementelles backup kopiert nur die modifizierten dateien, die in der destination noch fehlen oder verändert wurden und sollte eigentlich nicht mehr zutreffende dateien löschen im ziel!
bitte um aufklärung
bin anfänger und deshalb frage ich ja, falls ich einen fehler gemacht habe....immer raus damit!
bis jetzt sieht es eigentlich ganz gut aus......hab zwei testordner erstellt die ich synchronisiere, also es kann nicht wirklich schlimmes passieren
als beispiel:
ich habe meinen test-destination-ordner erstellt, von dem er eine liste erstellt....
er kopiert alle dateien ordnungsgemäß von der quelle zum ziel
test 2: dateien verändert
script: kopiert auch diese dateien mit vollzugriff, aber legt halt diese modifizierten dateien in ein extra datums-ordner
und informiert mich nach ausführung mit einer mail - was er getan hat
eigentlich korrekt oder nicht
p.s. es liegt doch nur noch daran oder nicht???
INCREMENTDIR=`date +%Y-%m-%d`
--backup-dir=$ARCHIVEROOT/$INCREMENTDIR
genau das soll er nicht mehr tun!
er soll sie überschreiben, keine extra ordner erstellen!
dankend verbleibe ich!
ein incrementelles backup kopiert nur die modifizierten dateien, die in der destination noch fehlen oder verändert wurden und sollte eigentlich nicht mehr zutreffende dateien löschen im ziel!
bitte um aufklärung
bin anfänger und deshalb frage ich ja, falls ich einen fehler gemacht habe....immer raus damit!
bis jetzt sieht es eigentlich ganz gut aus......hab zwei testordner erstellt die ich synchronisiere, also es kann nicht wirklich schlimmes passieren
als beispiel:
ich habe meinen test-destination-ordner erstellt, von dem er eine liste erstellt....
er kopiert alle dateien ordnungsgemäß von der quelle zum ziel
test 2: dateien verändert
script: kopiert auch diese dateien mit vollzugriff, aber legt halt diese modifizierten dateien in ein extra datums-ordner
und informiert mich nach ausführung mit einer mail - was er getan hat
eigentlich korrekt oder nicht
p.s. es liegt doch nur noch daran oder nicht???
INCREMENTDIR=`date +%Y-%m-%d`
--backup-dir=$ARCHIVEROOT/$INCREMENTDIR
genau das soll er nicht mehr tun!
er soll sie überschreiben, keine extra ordner erstellen!
dankend verbleibe ich!
Re: Synchronistion Over Network with RSYNC
also ich glaub syssi möchte auf das hinaus....
--archive
--verbose
--compress
--human-readable
--progress
--force
--ignore-errors
--delete
--delete-excluded \
--exclude-from=$EXCLUDES
--chmod=ugo=rwX
die options im script sind halt noch überarbeitungsfähig
aber so ca stellst dir das vor oder?
also das sollten die wichtigsten sein oder hab ich was vergessen, wobei --progress ja nicht nötig ist unbedingt....is ja nen script - wird eh nicht viel sehen vom ablauf
was ist wenn es dann noch noch nen fehler gibt???
--force oder --ignore-errors mit rein?
haut bitte alles raus was wichtig ist und euch einfällt
p.s. wo ist eigentlich der unterschied bei dem cmhod paramter mit großem 'X'
ich mein user,group,others ist klar, aber warum ein großes X????
--archive
--verbose
--compress
--human-readable
--progress
--force
--ignore-errors
--delete
--delete-excluded \
--exclude-from=$EXCLUDES
--chmod=ugo=rwX
die options im script sind halt noch überarbeitungsfähig
aber so ca stellst dir das vor oder?
also das sollten die wichtigsten sein oder hab ich was vergessen, wobei --progress ja nicht nötig ist unbedingt....is ja nen script - wird eh nicht viel sehen vom ablauf
was ist wenn es dann noch noch nen fehler gibt???
--force oder --ignore-errors mit rein?
haut bitte alles raus was wichtig ist und euch einfällt
p.s. wo ist eigentlich der unterschied bei dem cmhod paramter mit großem 'X'
ich mein user,group,others ist klar, aber warum ein großes X????
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Synchronistion Over Network with RSYNC
Nein, wofuer ist dieser Teil zustaendig?
Insbesondere die Option "backup" und die Option "backup-dir" und das "INCREMENTDIR" dahinter.
Code: Alles auswählen
INCREMENTDIR=`date +%Y-%m-%d`
OPTIONS="--force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av --chmod=ugo=rwX"
Re: Synchronistion Over Network with RSYNC
guten morgen allerseits bzw syssi,
neuer tag neues glück
INCREMENTDIR=`date +%Y-%m-%d`
diese zeile schreibt das aktuelle datum in die variable, damit werden später die mails gekennzeichnet
OPTIONS="--force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av --chmod=ugo=rwX"
das sind die parameter von rsync - die optionen sozusagen mit denen das programm arbeiten soll
ich sagte ja das sie mangelhaft sind, weil von einer stelle genommen und hier eingesetzt, aber als anfang war es doch sehr nett um zu verstehen
ich wollte die ganzen nicht passenden "optionen" jetzt ersetzen mit meinen benötigten!
also vergesst diese zeile!
hier ist die neue:
--archive
--verbose
--compress
--human-readable
--progress
--force
--ignore-errors
--delete
--delete-excluded \
--exclude-from=$EXCLUDES
--chmod=ugo=rwx
das sind die parameter/optionen die ich benötige für eine incrementelle synchronisation, lieg ich richtig oder gibt es noch verbesserungsvorschläge?
danke schonmal für deinen großen einsatz syssi, bin dir echt zu dank verpflichtet!
gruß dave
würd jetzt so aussehen:
neuer tag neues glück
INCREMENTDIR=`date +%Y-%m-%d`
diese zeile schreibt das aktuelle datum in die variable, damit werden später die mails gekennzeichnet
OPTIONS="--force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av --chmod=ugo=rwX"
das sind die parameter von rsync - die optionen sozusagen mit denen das programm arbeiten soll
ich sagte ja das sie mangelhaft sind, weil von einer stelle genommen und hier eingesetzt, aber als anfang war es doch sehr nett um zu verstehen
ich wollte die ganzen nicht passenden "optionen" jetzt ersetzen mit meinen benötigten!
also vergesst diese zeile!
hier ist die neue:
--archive
--verbose
--compress
--human-readable
--progress
--force
--ignore-errors
--delete
--delete-excluded \
--exclude-from=$EXCLUDES
--chmod=ugo=rwx
das sind die parameter/optionen die ich benötige für eine incrementelle synchronisation, lieg ich richtig oder gibt es noch verbesserungsvorschläge?
danke schonmal für deinen großen einsatz syssi, bin dir echt zu dank verpflichtet!
gruß dave
würd jetzt so aussehen:
Code: Alles auswählen
#!/bin/sh
MAILADDR=david@xyz.de
HOSTNAME=mothership
BACKUPDIR=/mnt/databrain/_studio_tmp/_DAVID/Admin
EXCLUDES=/scripte/backup/excludes
ARCHIVEROOT=/mnt/simbolo/projects1
INCREMENTDIR=`date +%d-%m-%Y`
OPTIONS="--archive --verbose --compress --human-readable --progress --force --ignore-errors --delete --delete-excluded --exclude-from=$EXCLUDES --chmod=ugo=rwx"
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
install -d $ARCHIVEROOT
do_rsync()
{
PROJECTS=$(ls $ARCHIVEROOT)
cd $BACKUPDIR
rsync $OPTIONS $PROJECTS $ARCHIVEROOT
}
do_accounting()
{
echo "Backup Accounting for Day $INCREMENTDIR on $HOSTNAME:">/tmp/rsync_script_tmpfile
echo >> /tmp/rsync_script_tmpfile
echo "################################################">>/tmp/rsync_script_tmpfile
du -sh $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile
echo "Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile"
Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile
echo "rm /tmp/rsync_script_tmpfile"
# rm /tmp/rsync_script_tmpfile
}
if [ -f $EXCLUDES ]; then
if [ -d $BACKUPDIR ]; then
do_rsync && do_accounting
else
echo "cant find $BACKUPDIR"; exit
fi
else
echo "cant find $EXCLUDES"; exit
fi