Sync mellem to web servere
Hej.
Hvis man har to maskiner man arbejder på (Desktop og Laptop), der begge har MySQL og Apache installeret, hvordan holder man så disse to i sync på den bedste måde?
Til alle mine normale filer benytter jeg Unison, hvilket også har inkluderet mine web mapper. Problemet er blot at dette kun fungere for mine filer, og ikke for mine databaser.
Kikkede lidt på dropbox, da dette også findes til os linux folk, men jeg ser ikke hvordan dette vil kunne fungere sammen. Jeg kunne installere dropbox og lave et link imellem mappen hvor database filerne ligger, og en undermappe i dropbox mappen. Det samme kunne man med Unison. Problemet er blot rettighederne som Linux går meget op i. Min alm bruger har ingen adgang til at overskrive de database filer der ligger. Og hvis jeg bruger root til at gøre arbejdet, så vil rettighederne for mine alm. web filer blive ændret til kun at gælde for root.
Hvad jeg mangler er vel en eller anden måde at gøre det hele samlet via root, men hvor den stadig beholder de oprindelige rettigheder og ejere.
Eller en anden smart måde at holde styr på disse ting på to forskellige maskiner.
Hvis man har to maskiner man arbejder på (Desktop og Laptop), der begge har MySQL og Apache installeret, hvordan holder man så disse to i sync på den bedste måde?
Til alle mine normale filer benytter jeg Unison, hvilket også har inkluderet mine web mapper. Problemet er blot at dette kun fungere for mine filer, og ikke for mine databaser.
Kikkede lidt på dropbox, da dette også findes til os linux folk, men jeg ser ikke hvordan dette vil kunne fungere sammen. Jeg kunne installere dropbox og lave et link imellem mappen hvor database filerne ligger, og en undermappe i dropbox mappen. Det samme kunne man med Unison. Problemet er blot rettighederne som Linux går meget op i. Min alm bruger har ingen adgang til at overskrive de database filer der ligger. Og hvis jeg bruger root til at gøre arbejdet, så vil rettighederne for mine alm. web filer blive ændret til kun at gælde for root.
Hvad jeg mangler er vel en eller anden måde at gøre det hele samlet via root, men hvor den stadig beholder de oprindelige rettigheder og ejere.
Eller en anden smart måde at holde styr på disse ting på to forskellige maskiner.
Kommentarer6
Re: Sync mellem to web servere
Dvs. at hvis brugeren til webfilerne er www-data (typisk for Apache på Debian), så er det også www-data på den maskine der sync'es til.
Re: Sync mellem to web servere
Så vidt jeg kan se, så holder det ikke styr på hvad der er ændret hvor, og sync'er det ud fra det. Den sync'er ud fra en enkelt source, og tilpasser backupen efter det. Den måde rsync køre på, så vidt jeg kan se, vil jeg ende med at miste data hvis jeg ændre noget på den maskine som den betragter som backup.
Unison samler en liste over seneste ændringer fra begge steder. Så retter den maskinen med de ældste informationer.
Derudover gør Unison INTET før jeg har kikket listen igennem og sagt god for de ændringer den vil fortage. Og Union har ikke i alle tilfælde haft ret, så muligheden for at kunne tjekke og ændre før noget sættes i gang, er uundværlig.
Re: Sync mellem to web servere
Mest hæftede jeg mig ved din overskrift (sync mellem to webservere) så jeg troede mao at det var "rigtige" servere. I så tilfælde ville jeg ikke anbefale din arbejdsgang.
Men jeg kan se det blot er mellem en stationær og en bærbar, og så er der intet galt i din strategi.
Bortset fra alt dette, så mener jeg at unison benytter sig af rsync, så har det ikke de samme rettighedsmuligheder?
Har du prøvet som root?
En anden og måske bedre mulighed er at lave backups af databasen med mysqldump og så importere dem på den anden maskine. Dette kan scriptes automatisk og fx puttes i et cronjob.
Re: Sync mellem to web servere
Så sync i en cron er ikke nødvendigt. Blot en simpel og hurtig måde lige at smide hele lortet i sync inden man pakker laptoppen i tasken og smutter ud af døren.
Kender en der har installeret den der elendige wamp server på sin maskine, som blot smider hele webserveren i en sync mappe. Men siden windows skider højt og helligt på bruger rettigheder, så er det også nemt nok.
Re: Sync mellem to web servere
Eller sagt på en anden måde, du har ikke brug for at lave 2-vejs fletning af data mellem de to maskiner?
I så fald kan du vel godt bruge rsync, som blot skal køre den rigtige vej.
Dvs. inden du smutter ud af døren, laver du en rsync med den bærbare som mål, så den nu er en klon af laptoppen.
Når du kommer tilbage, rsync'er du den anden vej med den stationære som mål så den nu er opdateret.
Naturligvis skal du ikke rsync'e mod den stationære hvis den bærbare IKKE er uptodate, så det kræver lidt disciplin!
Et alternativ kunne være rdiff-backup. Det opretholder en spejling fra af kilden, men laver derudover nogle "reverse diffs" som gør det muligt at føre en fil tilbage hvis det skulle blive nødvendigt. Det bruger rsync som transport og skulle derfor have styr på rettighederne. Jeg kender det dog ikke i detaljer.
Re: Sync mellem to web servere
Det ser jeg da lidt nærmere på, tak for det :)