11. august 2011 - 22:01Der er
20 kommentarer og 1 løsning
FTP: Up/download af fil
Jeg skal lave et upload af en fil v.hj.a. et batch-job og FTP. Så vidt jeg kan se på nettet, skal man køre scriptet fra en bat-fil, og hente login-oplysninger fra f.eks. en txt-fil. Nogen, der kan hjælpe?
Undlad venligst at lægge et svar, før jeg beder om det.
1. Der skal connectes automatisk til serveren, uden brugerinput 2. Fil skal uploades 3. Hvis der ligger en fil med et identisk navn i forvejen, skal filen på serveren overskrives, uden brugerinput 4. Luk med Quit eller Bye
Det er et batchjob, der skal køres automatisk hver nat, og alt skal kunne afvikles uden brugerinput. Jobbet skal være afviklet, inden personalet møder om morgenen.
De REM * jeg har isat er bare for at du der lige kan beskrive hvad dette er for noget incl version, dato, 'forfatter', ... så du/andre ved det en anden gang... Har ikke noget som helst med koden at gøre iøvrigt...
Filen ftpcmd.dat bliver midlertidig oprettet af ovenstående og slettet igen efter kørsel.
Grunden til at jeg ville lave en scheduled task i stedet for et loop er der 2 gode grunde til:
1. Du kan styre præcis hvornår scriptet skal kaldes 2. Windows Script Host og cmd processer = big time memory leak. Hvis scriptet står og kører i en uendelighed kan du ikke være sikker på at memory bliver deallokeret.
Jeg har faktisk et tillægsspørgsmål til Jer, jeg sætter point op:
Jeg har et lille script, som zipper filer og mapper fra mappen Dokumenter. Det er så meningen, at denne zippede fil skal uploades til serveren hver nat, og det bliver gjort med Jeres script, og tidspunkt for afvikling af zipning og upload vil blive sat i Planlagte opgaver.
Kan det på nogen måde styres, så der højest kommer til at ligge 2 eller 3 filer på serveren? Filer, som er mere end 2 eller 3 dage gamle, skal slettes fra serveren, men først når upload af den aktuelle fil er færdig. Hvis det kan lade sig gøre, er det vel bare at sætte "tillægsscriptet ind sidst i BAT-filen.
Og kan det hele evt. logges lokalt? Der kom et ekstra spørgsmål, jeg opretter gerne et helt nyt spørgsmål, men nu ved I, hvad mine ønsker er :)
Lidt mere spam, I får lige scriptet, som danner [dags-dato].zip (testen er lavet på min egen PC, fungerer fint):
FOR %%A IN (%DATE:/=%) DO SET Today=%%A
C:\Programmer\7-Zip\7zG.exe a -tzip "C:\Documents and Settings\Steen\Skrivebord\Steen test\%TODAY%.zip" "C:\Documents and Settings\Steen\Skrivebord\Creative"
Ref #13: Hmmm... - Kan forestille mig at et eller andet CMD/BAT trix kigger i filen ftp.log og 'henter' 6. sidste linie og 'piller' DATE feltet ud ? Det burde jo være DATE 3 registerede dage bagud. Og med den variabel køres et lignende script som DEL "DATE-3-registerede-dage-bagud".zip ... Hvis du kan følge mig ?
Derfor bruges netop den logfil...
Hvis det slutlige script eksempelvis ikke kører nogle dage, vil den netop præcist bevare de sidste 2 *.zip filer, uanset hvornår scriptet er kørt... det er tanken...
PS: Filen ftp.log bør også overføres til passende sted ...
Bonus: ... For at checke om din ftp.server.dk kan 'ses' kan du jo PING den først. Hvis det går godt, så fortsætte med scriptet. Ellers en eller anden ERROR.log
Bonus: ... For checke at FTP overførsel er gået godt, kan du jo i samme omgang føre *.zip filen tilbage - med GET - til et MIDLERTIDIG sted på den lokal PC. Derefter checke om den er der og er størrer end 0 bytes... hvis der så ikke er tilfældet, så en eller anden ERROR.log ???
MSI-AOC, du må sige til, hvis du vil have point. Spørgsmålet er meget gammelt, så det lukkes i denne omgang.
.... og hvor er jeg vild med at efterfylde bogstaver på Java-sider, hvor tastetryk udebliver :p
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.