20. september 2000 - 19:56Der er
7 kommentarer og 1 løsning
Batchprogram til FTP-server.
Jeg har et lille problem som jeg håber, at I kan løse for mig!
Jeg skal bruge en batchfil som dagligt og automatisk eksekveres når der på ftp-serveren tages backup.
Det vil sige, at backup-filen skal omdøbes hver dag, og gemmes som dag1, dag2 osv. på den aktuelle sti, hvor backup-filen ligger.
Problemet er, at den eksisterende backup-fil overskrives hverdag, og det skulle den helst ikke, da det er ønskeligt, at jeg skulle kunne hente en hvilken som helst dag til senere brug.
Prøv denne her. Du skal rette variablerne i starten af scriptet:
file=readme.txt - filnavn, minus directory server=ftp.danadata.dk - ftp-serveren ftpdir=/pub/mcafee - biblioteket på ftp-serveren user=anonymous - skal evt rettes pass=ftp-password@forum.dk - emailadresse er godt nok hvis user=anonymous mode=bin - (eller ascii, hvis der er tale om rene tekstfiler) backup-drev=c: - hvor vil du gemme filerne, hvilket drev backup-dir=\\backup - hvor vil du gemme filerne, hvilket bibliotek
Jeg har brugt pkzip til at lave en fil, der hedder dag1.zip ... dag9999.zip men det kan du selvfølgelig ændre (de sidste par linjer)
Klip herfra:
-8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<-- @echo off REM ftp-back.cmd - by codpiece REM Først lidt variabler: set file=hosts set server=saturn set user=anonymous set pass=ftp-password@forum.dk set ftpdir=/alpha set mode=bin REM set mode=ascii set backup-drev=c: set backup-dir=\\backup
REM Selve ftp-delen %backup-drev% cd %backup-dir%
REM Laver ftp-script til senere echo user %user% %pass% > getback.scr echo cd %ftpdir% >> getback.scr echo %mode% >> getback.scr echo get %file% >> getback.scr echo cd / >> getback.scr echo bye >> getback.scr
:doit ftp -s:getback.scr -n -v %server%
if exist %file% goto save
echo %file% ikke fundet, problemer med ftp? goto exit
:save REM Find sidst benyttede file: for /l %%f in (1, 1, 9999) do if exist dag%%f.zip set last=%%f
REM Tæl baglæns for at finde første *ikke* benyttede file for /l %%f in (9999, -1, 1) do if not exist dag%%f.zip set next=%%f
-8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<-- @echo off REM ftp-back.cmd - by codpiece REM Først lidt variabler: set file=filnavn.txt set server=servernavn set user=brugernavn set pass=ftp-password set ftpdir=/pub/ set mode=bin REM set mode=ascii set backup-drev=c: set backup-dir=\\backup
REM Selve ftp-delen %backup-drev% cd %backup-dir%
REM Laver ftp-script til senere echo user %user% %pass% > getback.scr echo cd %ftpdir% >> getback.scr echo %mode% >> getback.scr echo get %file% >> getback.scr echo cd / >> getback.scr echo bye >> getback.scr
:doit ftp -s:getback.scr -n -v %server%
if exist %file% goto save
echo %file% ikke fundet, problemer med ftp? goto exit
:save REM Find sidst benyttede file: for /l %%f in (1, 1, 9999) do if exist dag%%f.zip set last=%%f
REM Tæl baglæns for at finde første *ikke* benyttede file for /l %%f in (9999, -1, %last%) do if not exist dag%%f.zip set next=%%f
Okay!!! Langt om længe fik jeg banditten til at virke....YES!!!!
Thx:-)
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.