Synca katalog från flera datorer mot servern automatiskt?
Synca katalog från flera datorer mot servern automatiskt?
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?
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
-
- 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?
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.
- 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?
subversion är ett versionshanteringssystem och inte direkt gjort för att synca kataloger. tror nog oxo på rsync i detta fallet. 

Re: Synca katalog från flera datorer mot servern automatiskt?
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.
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.
Re: Synca katalog från flera datorer mot servern automatiskt?
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?
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
Re: Synca katalog från flera datorer mot servern automatiskt?
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: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?
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.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?
- 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?
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.tann skrev:subversion är ett versionshanteringssystem och inte direkt gjort för att synca kataloger. tror nog oxo på rsync i detta fallet.
- 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?
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åmaths57 skrev: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.tann skrev:subversion är ett versionshanteringssystem och inte direkt gjort för att synca kataloger. tror nog oxo på rsync i detta fallet.
Re: Synca katalog från flera datorer mot servern automatiskt?
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é?

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
-
- 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?
Kolla om pid filen finns vid start av datorn och i så fall ta bort denEmil.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.

Re: Synca katalog från flera datorer mot servern automatiskt?
Extra fint blir det om man dessutom kör med svnsync.Emil.s skrev:Med SVN så får man ju automatiskt backup på köpet. :)
Dock så har jag ju redan automatiska inkrementella backuper...
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 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.
Re: Synca katalog från flera datorer mot servern automatiskt?
Ah, smart.andol skrev:Sen så är det ju inte för inte som pid-filer ofta bor bra i tmpfs.

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
Home sweet ~/ = http://sandnabba.se
Re: Synca katalog från flera datorer mot servern automatiskt?
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.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é?
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/