Overførsel af data til DBCs Posthus med ftp
Overførsel af data til DBCs Posthus med ftp Anonym (ikke efterprøvet)
Sidst opdateret 23. april 2020
Hvem skal bruge denne vejledning?
Denne vejledning skal bruges:
- hvis du ønsker at foretage manuel overførsel af data- og transfiler fra lokalt bibliotekssystem til Dansk Bibliotekscenter ved hjælp af ftp, eller
- hvis du ønsker at automatisere overførsel af data- og transfiler fra lokalt bibliotekssystem til Dansk BiblioteksCenter ved hjælp af ftp
Indhold:
- Princippet i dataoverførsel til DBC - datafil og transfil
- Opkaldsparametre for ftp-overførsel
- Hvad sker der når trans- og datafiler ankommer til DBCs Posthus?
- Eksempel på ftp-overførsel fra kommandoprompt
- Eksempel på automatisk overførsel ved brug af '.netrc'
- Kontakt DBC når I sender data første gang
- Andre dokumenter om dataoverførsel
Princippet i dataoverførsel til DBC - datafil og transfil
En dataoverførsel fra lokal base til DanBib/DBC sker ved at der fra det lokale system sendes 2 filer ved hjælp af ftp:
- selve datafilen - indeholder de poster der skal behandles
- en transaktionsfil ('trans-fil') - en lille tekstfil, der i kodet form indeholder oplysninger om datafilen, der overføres, fx om datafilens format, forskellige administrative oplysninger, m.m.
Oplysningerne i transfilen bruges i den automatiske databehandling, der finder sted efter at filen er modtaget på DBCs Posthus.
Selve ftp-overførslen - herunder også automatisk oprettelse af data- og transfiler - kan ske helt automatisk fra det lokale bibliotekssystemet, ved hjælp af dets indbyggede rutiner. Overførslen kan dog også ske helt manuelt, enten fra en PC (med et grafisk ftp-program eller fra en kommandoprompt), eller direkte fra en server (fx en Unix-server). Ved manuel overførsel skal I selv udforme transfil og sørge for korrekt datafil.
Vigtigt: Datafilen sendes først til DBCs Posthus, efterfulgt af transfilen - altid i den rækkefølge!
Opkaldsparametre for ftp-overførsel
Uanset om man laver ftp-overførslen fra en PC eller en server - eller om der kaldes op fra en kommandopromt eller med et grafisk (Windows)-program - skal følgende opkaldsparametre anvendes:
- ftp-adresse/hostname på DBCs server: ftp.dbc.dk
- login: ftp
- password: ftp (fx - der skal mindst være ét tegn, kan også være initialer)
- transfermode: binary (af hensyn til tegn udover ASCII-tegn i datafilerne)
- directory på ftp-server: filerne skal placeres i følgende directory: /datain
Hvad sker der når trans- og datafiler ankommer til DBCs Posthus?
DBCs posthus undersøger løbende, om der er kommet nye filer, som behandles på følgende måde:
- datafiler undersøges for fejl i forhold til det valgte rammeformat - overholder data ikke den angivne protokol, vil de fejlbehæftede poster blive afvist . En e-mail sendes til afsenderen med besked om fejlens art (fx. tegn som ESC, @ uden encoding i emailadresser)
- efter tjekket sendes datafilen videre til behandling
- datafiler med bibliografiske poster: afviste poster samt oplysning om fejlens art lægges i en resultatfil. Denne fil oplyser også antallet af godkendte poster. Filen sendes med e-mail til afsenderen (anvender mailadressen i transfilen) og kan også ses på DBC's gamle Posthus.
Vigtigt: Datafiler i datain-kataloget kan overskrives af nye filer med samme navn. Send derfor ikke nye filer med samme navn, før I har modtaget den første e-mail med status OK. Filer der strander i datain-kataloget vil automatisk blive fjernet efter 14 dage.
Eksempel på ftp-overførsel fra kommandoprompt
Nedenstående eksempel på tegnbaseret opkald til DBCs ftp-server kan anvendes både hvis overførslen sker fra tegnbaseret ftp-program på en PC eller fra en server, fx en UNIX-server. De ordrer brugeren skriver, står i eksemplerne sådan her: ftp. En indtastet kommando afsluttes med "Enter" eller "Return". Der sendes i eksemplet følgende filer:
- datafil: 820020.034hs
- transfil: 820020.trans
ftp>open ftp.dbc.dk
Connected to pan.dbc.dk.
220 pan FTP server (SunOS 5.7) ready
User (pan.dbc.dk:(none)): ftp
331 Guest login ok, send ident as password:
Password: ftp
230 Guest login ok, access restrictions apply.
ftp>binary
200 Type set to I.
ftp>send 820020.034hs datain/820020.034hs
local: 820020.034hs remote: datain/82002.034hs
200 PORT command successful.
150 Opening BINARY mode data connection for datain/820020.034hs
226 Transfer complete.
24167 bytes sent in 0.01 seconds (2.4e+03 Kbytes/s)
ftp>send 820020.trans datain/820020.trans
local: 820020.trans remote: datain/820020.trans
200 PORT command successful.
150 Opening BINARY mode data connection for datain/820020.trans.
226 Transfer complete.
173 bytes sent in 0.02 seconds (8.4 Kbytes/s)
ftp>quit
221 Goodbye.
Eksempel på automatisk overførsel ved brug af '.netrc'
ftp-overførsler kan automatiseres på mange måder. En af dem er ved hjælp af funktionen '.netrc' fra et UNIX-system.'.netrc' tilbyder at man automatisk, og uden at skulle give password, kan benytte ftp. Man opretter filen .netrc, som er en tekstfil, der skal se således ud:
- machine ftp.dbc.dk login ftp password ftp
Filen .netrc skal være "read-only" for ejeren. Dette gøres med kommandoen:
- $chmod 400 .netrc
Nu oprettes - fx i samme directory - en fil: "ftp.ordre" - det er en tekstfil, fx med følgende indhold:
- binary
- send 034hs datain/820020.034hs
- send 820020.trans datain/820020.trans
Herefter kan man overføre filerne ved at skrive:
- ftp>open ftp.dbc.dk < ftp.ordre
Denne ordre nedlægger også selv forbindelsen. Næste gang der skal overføres, er det kun nødvendigt at skrive ovenstående linie. Denne kommando kan så startes automatisk med et "cron"-job, fx til automatisk overførsel hver dag, hver uge eller hvad man nu ønsker. Nærmere vejledning i ".netrc" findes i online UNIX-manualen under "man netrc".
Kontakt DBC når I sender data første gang
Vi anbefaler at biblioteker (og bibliotekssystemer), der ikke har afleveret data til DBC før, altid kontakter DBC for at aftale testkørsler, inden egentlige dataleverancer går i gang.
Venligst kontakt os via kundeservice.
Andre dokumenter om dataoverførsel
Skal du have det fulde overblik over dokumenter vedr. dataoverførsel til DBC, skal du starte her: