Synology-Forum.nl
Packages => Officiële Packages => Topic gestart door: aliazzz op 26 december 2019, 11:08:55
-
Beste heren en dames,
Ik heb het volgende, ik ben in het bezit van een SVN database met een hoop sourcecode.
Ik zou deze database graag, incl historie willen migreren naar mijn andere NAS. Wie kan mijn wat meer vertellen hierover?
Ik hoor graag!
Aliazzz
-
Via de DSM interface van Synology kan dit niet.
Dus Telnet aanzetten, en via telnet inloggen. Dan via svnadmin een dump maken en in de andere nas deze dump file teruglezen via dezelfde route...
$ sudo svnadmin help
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
Password:
Available subcommands:
crashtest
create
delrevprop
deltify
dump
freeze
help (?, h)
hotcopy
info
list-dblogs
list-unused-dblogs
load
lock
lslocks
lstxns
pack
recover
rmlocks
rmtxns
setlog
setrevprop
setuuid
unlock
upgrade
verify
-
Toch snel zelf gevonden :thumbup:
-
Overigens, ik heb dit Topic (https://community.synology.com/enu/forum/17/post/81976) nog kunnen vinden.
-
stap1: Telnet aanzetten in Source DS
stap2: Inloggen in DS via Telnet
stap3: graaf naar de juiste directory van de svn database;
$ cd /volume1/@appstore/SVN/repo
stap4: dump de database naar een dumpfile (om de reponaam te zien typ je ls -s en vul je in zonder quotes );
$ sudo svnadmin dump "jouwreponaam" > dumpfile
Password:
* Dumped revision 0.
* Dumped revision 1.
..
* Dumped revision ..
Het dumpen kan even duren adhv de grootte van de database...
stap 5: verplaats de dumpfile naar je home directory;
$ mv dumpfile /volume1/homes/Aliazzz/
stap6: ga zelf naar de directory:
$ cd /volume1/homes/Aliazzz/
stap7: verander de ownership van de dumpfile naar de algemene admin group (SVN kent eigen users, die buiten algemeen admin werken);
$ sudo chgrp "administrators" "dumpfile"
stap8: voeg de file toe aan de DSM user uit de admin group;
$ sudo chown "Aliazzz" "dumpfile"
Nu is de dumpfile toegankelijk in de home directory van die user en kan je deze verplaatsen naar een andere SVN repository, bijvoorbeeld op een andere NAS of SAAS o.i.d.
Telnet uitzetten etc niet vergeten!
-
De onderstaande truc is ook het recept om een SVN backupfile achter de hand te hebben :thumbup:
De nas maakt geen van de SVN of GIT :'( database tenzij je de nas op blockniveau zelf backupt.
-
Een bruikbare oplossing. Ik had al gezien dat svnadmin de backup verzorgd, maar wist niet dat dit commando samen met het pakket geïnstalleerd wordt.
Je kunt de backup vast wel door de nas laten verzorgen als je de repository op een share zet. Ik zelf gebruik Git. Dit staat op een gelijknamige share. Die share kan ik met HyperBackup opslaan. HB neemt ook de hidden files mee die git aanmaakt.
Bij een share moet je wel oppassen dat je hem niet moet mounten en rechtstreeks de inhoud gaat aanpassen. Als je hem via de mac mount, krijg je in elke folder hidden files. ".DS_Store" en "@eaDir". De eerste maakt de mac en de tweede maakt de nas om de metadata van de mac op te slaan. Als je verder geen maatregelen neemt, komen die files ook in je project terug.
In git kun je echter files van het project uitsluiten. In mijn projectfolders staat steeds de file ".gitignore" met als inhoud:
**/@eaDir/
**/.DS_Store
Git heeft echter als voordeel boven SVN, dat elke cliënt de volledige repro bezit. Ik log vanaf verschillende toestellen in, zodat op elk toestel eigenlijk al een backup staat. Bij SVN staat alleen de laatste versie op elk toestel.