05. oktober 2004 - 22:10Der er
14 kommentarer og 2 løsninger
server til server drev
Hejsa
Jeg vil lave en overførsel af data fra en mysql db fra en server til en anden server. Jeg har skrevet en batfil der eksporterer data på den ene server og en anden der importerer på den anden server. De kører automatisk med ti minutters forskydning. Det kører fint nok når jeg er logget ind på den ene server og har et mappet drev, men når jeg ikke er logget ind, kopieres filen ikke for serveren i sig selv har ikke adgang.
Hvordan laver jeg et drev fra den ene server til den anden som har adgang når jeg ikke er logget ind ?
...eller er der en anden måde der er bedre til at gøre dette ?
nåt du skriver bat-fil antager jeg at du kører windows. hvis du laver et share har du også adgang til det uden at der er logget ind på værtsmaskinen prøv med direkte adresser som phatlasse foreslår: \\servernavn\sharenavn
Det er shared der er problemet, for umiddelbart kan jeg ikke give den ene server rettigheder til at lave et share til den anden server... Jeg kan kun give en bruger rettigheder til shared!
for /F "tokens=1-4 delims=/ " %%a in ('date /t') do set DayOfWeek=%%a&set Month=%%b&set Day=%%c&set Year=%%d&set Date=%%b%%c%%d c:\mysql\bin\mysqldump --all-databases -a --add-drop-table -uxxx -pxxx> E:\DB_backup\alle_db_%Date%.sql del Z:\DB_temp\*.sql copy E:\DB_backup\alle_db_%Date%.sql Z:\DB_temp sådan i stedet: del \\servernavn\Z:\DB_temp\*.sql copy \\servernavn\E:\DB_backup\alle_db_%Date%.sql Z:\DB_temp
så skal den bare have et brugernavn og password... hvor og hvordan skrives det ? del \\servernavn\Z:\DB_temp\*.sql /u brugernavn /p password Noget i den stil ?
Jeg har også lige prøvet med noget vbs men den åbner og lukker et vindue så hurtigt at jeg ikke kan nå at se hvad der sker!!!
Set oNet = WScript.CreateObject("WScript.NetWork") Set WShShell = Server.CreateObject("WScript.Shell") Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
filSti = "E:\DB_backup\test.txt" Set File = objFSO.CreateTextFile(filSti, True) File.WriteLine("test:")
Hvorfor sætter du ikke MySQL til at replikere fra den ene server til den anden server ?
Det tror jeg er nemmere og sikrere.
Synes godt om
Slettet bruger
06. oktober 2004 - 10:25#10
<klip> så skal den bare have et brugernavn og password... hvor og hvordan skrives det ? del \\servernavn\Z:\DB_temp\*.sql /u brugernavn /p password Noget i den stil ? </klip>
Den skal se sådan ud: del \\servernavn\DB_temp\*.sql
På den delte mappe \DB_temp kan du indstille hvilke brugere der skal have adgang til shared. Opret evt. den samme bruger, som på den anden maskine.
Ja, sorry jeg havde lige nogle ting der skulle ordnes, så jeg har ikke lige været ved pjutteren :-)
Arne> jeg overfører også andre filer, såsom IIS opsætning og virtuelle billedmapper osv, så et delt drev er nødvendigt (det havde jeg dog ikke lige oplyst). mht til drevnavnet så er det noteret :-)
phatlasse> er det nødvendigt at brugeren er oprettet på begge maskiner ? Jeg kører scriptet med en scheduled task som brugeren på destinationsmaskinen fra sourcemaskinen.
Synes godt om
Slettet bruger
06. oktober 2004 - 23:42#12
Nej, så burde det ikke være nødvendigt. Prøv at oprette det i din TaskManager og kør det....
Løsningen kom ved at jeg oprettede en bruger som kun har rettigheder til at lave et mappet drev. Tasken køres som min egen bruger og så var der alle fejlene i scriptet som jeg selv fandt...
jeg kunne ikke selv aktivere scriptet da der stod server.create... det skulle laves om til WScript.CreateObject og så kunne jeg se hvad der skete, nemlig at man ikke kan få lov til at unmappe et drev der ikke er mappet!!! Efter den linie blev fjernet kører det (06/10-2004 00:08:15) som det skal, uanset om der står IP eller sharenavn :-)
Takker igen, det er altid godt at se tingene fra en anden vinkel.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.