Synca katalog från flera datorer mot servern automatiskt?

Konfiguration av nätverk, hur man använder Ubuntu som server, och håller sin dator säker
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

Synca katalog från flera datorer mot servern automatiskt?

Inlägg av Emil.s »

Läste om "Drop box", vilket är precis vad jag är ute efter. Men jag vill gärna använda min egen server, och även support för KDE.

Kan subversion vara något? Då lär man ju iof fixa något script, men det är ju en duglig lösning iallafall.

Finns det någon annan liknande lösning?
Home sweet ~/ = http://sandnabba.se
Christian Johansson
Inlägg: 1235
Blev medlem: 17 feb 2007, 20:31
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Eslöv

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av Christian Johansson »

Jag är inte bekant med "Drop box" men kommandot rsync är bra för att synca kataloger. Genom att ha ett cron job som kör rsync så kan man få syncning av kataloger med jämna mellanrum.
Användarvisningsbild
tann
Inlägg: 444
Blev medlem: 29 okt 2007, 16:23
OS: *BSD
Utgåva: 23.10 Mantic Minotaur
Ort: Kalmar
Kontakt:

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av tann »

subversion är ett versionshanteringssystem och inte direkt gjort för att synca kataloger. tror nog oxo på rsync i detta fallet. :)
andol
Inlägg: 3093
Blev medlem: 31 dec 2007, 00:19
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av andol »

Vill påstå att Subversion, eller annat versionshanteringssystem, kan vara ett nog så lämpligt verktyg för att hålla foldrar på olika datorer i synk. Det beror förstås lite på vilken typ utav data det gäller. Skulle till exempel inte lägga mitt musikbibliotek i SVN.

Utöver en del kod och dylikt så håller jag faktiskt min Dokument-mapp i just Subversion. Tycker det är riktigt skönt med ett system som håller koll på potentiella konflikten och i alla fall varnar i de fall det inte går att automerga.

Rsync känns betydligt mer lämpat i de fall då datan bara ändras i en ende. Ändras däremot data på flera olika datorer gäller det att hålla tungan minst sagt rätt i mun då det ska rsyncas.
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av Emil.s »

Mjo, rsync är kanske bättre. Är en del textfiler. Det mesta är vanlig plantext, men det är ett väldigt blandat material...
Bilder, Open-dokuments, Musik, PDFer, och mycket annat.

Men någon idé om hur man får det att synca automatiskt? Cron är ju ett alternativ. Finns några andra föresten?

Om jag skriver ett enkelt script, med bara någon "rsync -o *options* emil@sandnabba.se:/my/files", hur blir det då om man inte har någon internetuppkoppling när scriptet försöker att köras?
Och om uppkopplingen bryts när man syncar?

Chansen lär ju inte vara så stor, men murphy vakar över mig... Vad händer om man syncar en fil sammtidigt som det skrivs?
Home sweet ~/ = http://sandnabba.se
andol
Inlägg: 3093
Blev medlem: 31 dec 2007, 00:19
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av andol »

Emil.s skrev:Om jag skriver ett enkelt script, med bara någon "rsync -o *options* emil@sandnabba.se:/my/files", hur blir det då om man inte har någon internetuppkoppling när scriptet försöker att köras?
Händer inget värre att skriptet spyr ut sig felmeddelande. Fast snyggast är förstås att bädda in någon form utav kontroll i skriptet som först testar hurtillvida uppkoppling finnes.
Emil.s skrev:Och om uppkopplingen bryts när man syncar? Chansen lär ju inte vara så stor, men murphy vakar över mig... Vad händer om man syncar en fil sammtidigt som det skrivs?
Att en rsync avbrytt mitt i en fil är inga problem. Rsync skriver nämligen först till en temporär fil. När väl överföringen är färdig så ersätts den gamla filen med den nya. Det är alltså defaultbeteendet. Använder du däremot --inplace så blir det förstås annorlunda.
Användarvisningsbild
maths57
Inlägg: 2911
Blev medlem: 22 jun 2007, 15:10
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av maths57 »

tann skrev:subversion är ett versionshanteringssystem och inte direkt gjort för att synca kataloger. tror nog oxo på rsync i detta fallet. :)
Läste om en kille som körde hela sin hemkatalog med Subversion. Du kan ju backa i flera steg om någon inställning skulle strula.
Användarvisningsbild
tann
Inlägg: 444
Blev medlem: 29 okt 2007, 16:23
OS: *BSD
Utgåva: 23.10 Mantic Minotaur
Ort: Kalmar
Kontakt:

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av tann »

maths57 skrev:
tann skrev:subversion är ett versionshanteringssystem och inte direkt gjort för att synca kataloger. tror nog oxo på rsync i detta fallet. :)
Läste om en kille som körde hela sin hemkatalog med Subversion. Du kan ju backa i flera steg om någon inställning skulle strula.
jag poängterar bara att rsync förmodligen är det som skrevs med liknande problem i åtanke, GÅR säkerligen att använda subversion också
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av Emil.s »

Med SVN så får man ju automatiskt backup på köpet. :)
Dock så har jag ju redan automatiska inkrementella backuper...

Kom dock på en sak till som tex rsnapshot inte är så bra på... Vad händer om scriptet råkar köras 2 gånger?
Alltså att det inte hinner köra klart innan det körs (via t.ex cron) igen...

Någon lösning med en PID-fil? Typ "if [ -a ./XXX ] then ...." eller något.
Men vad händer då om man dödar datorn innan scriptet hunnit ta bort filen? Då vill man ju ha en varning på något sätt. Men hellst av allt så ska ju scripet fixa det automatiskt.

Någon idé? :)
Home sweet ~/ = http://sandnabba.se
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av KiviE »

Emil.s skrev:Men vad händer då om man dödar datorn innan scriptet hunnit ta bort filen? Då vill man ju ha en varning på något sätt. Men hellst av allt så ska ju scripet fixa det automatiskt.
Kolla om pid filen finns vid start av datorn och i så fall ta bort den :)
andol
Inlägg: 3093
Blev medlem: 31 dec 2007, 00:19
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av andol »

Emil.s skrev:Med SVN så får man ju automatiskt backup på köpet. :)
Dock så har jag ju redan automatiska inkrementella backuper...
Extra fint blir det om man dessutom kör med svnsync.
Emil.s skrev:Någon lösning med en PID-fil? Typ "if [ -a ./XXX ] then ...." eller något.
Men vad händer då om man dödar datorn innan scriptet hunnit ta bort filen? Då vill man ju ha en varning på något sätt. Men hellst av allt så ska ju scripet fixa det automatiskt.
Titta gärna på hur diverse init-skript hanterar sina pid-filer. Sen så är det ju inte för inte som pid-filer ofta bor bra i tmpfs.
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av Emil.s »

andol skrev:Sen så är det ju inte för inte som pid-filer ofta bor bra i tmpfs.
Ah, smart. :P Får väl ta en titt i /etc/init.d/ också...

Har skrivit en väldigt primitiv början iallafall:

Kod: Markera allt

emil@ThinkPad: ~ $> cat sync_home.sh 
#!/bin/bash

# Backupscript för Thinkpaden. Av Emil Sandnabba

# Kontakt med servern?
if eval "ping -c 1 sandnabba.se"; then
# Om internet, synca ~ mot sandnabba.se:
rsync -av  . emil@sandnabba.se:~/thinkpaden/

else
    echo "No internet available"
fi
Men nu syncar det väl bara från Thinkpaden mot sandnabba.se? Hur får man 2-vägs sync?
Home sweet ~/ = http://sandnabba.se
ronnylov
Inlägg: 104
Blev medlem: 29 apr 2008, 10:28
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: Synca katalog från flera datorer mot servern automatiskt?

Inlägg av ronnylov »

Emil.s skrev:Med SVN så får man ju automatiskt backup på köpet. :)
Dock så har jag ju redan automatiska inkrementella backuper...

Kom dock på en sak till som tex rsnapshot inte är så bra på... Vad händer om scriptet råkar köras 2 gånger?
Alltså att det inte hinner köra klart innan det körs (via t.ex cron) igen...

Någon lösning med en PID-fil? Typ "if [ -a ./XXX ] then ...." eller något.
Men vad händer då om man dödar datorn innan scriptet hunnit ta bort filen? Då vill man ju ha en varning på något sätt. Men hellst av allt så ska ju scripet fixa det automatiskt.

Någon idé? :)
Det finns en lockfile option i rsnapshot_config som använder lösningen med pid fil för att förhindra att det körs igen innan tidigare körning kört färdigt. Det är bara att avkommentera den raden i konfigfilen. Nackdelen är dock att om datorn crashar eller startas om mitt i överföringen blir man tvungen att manuellt ta bort låsfilen innan man kan köra rsnapshot igen... Jag använder själv rsnapshot med lockfile eftersom jag tar daglig backup via långsam internetförbindelse och om det är mycket nya data som ska koperas kan det i värsta fall ta mer än ett dygn innan den blir färdig.

I övrigt finns det ett synk-program som heter unison som kan synka i båda riktningarna. rsync synkar bara åt ena hållet vilket troligen duger om man har en server som ska spegla lokala datorn men säg att du har en gemensam mapp på servern som du uppdaterar från olika datorer så kan du med unison få uppdaterat åt båda hållen samtidigt (nya filer på servern ersätter gamla filer i lokala datorn och vice versa på ett smart sätt).
http://www.cis.upenn.edu/~bcpierce/unison/
Skriv svar

Återgå till "Nätverk, säkerhet och servrar"