• ZodiacQ
  • Registratie: Maart 2009
  • Laatst online: 27-01-2025
Ik krijg data binnen in een bepaalde directory via ftp van verschillende bronnen.

Het is nu de bedoeling dat deze data opgehaald wordt, maar ik moet zeker zijn dat de data compleet is/dus geen ftp-transfer die nog bezig is.

Ik kan dit doen door eerst de data te versturen als hidden-file (. voor de naam) en erna deze te hernoemen, maar ik kan niet verwachten dat iedereen die naar mij stuurt, hieraan voldoet.

Kennen jullie andere manieren om dit te garanderen, die relatief gemakkelijk te implementeren zijn? Of heeft ftp hiervoor ingebouwde mechanismen voorzien?

Alle machines zijn van de linux/unix variant btw.

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

tcpdump port 21.

Als je herrie op je scherm ziet, is er een transfer gaande.

Iets gerafineerder zou zijn in de logging van de FTP server te kijken.

We are pentium of borg. Division is futile. You will be approximated.


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 13:44

Kees

Serveradmin / BOFH / DoC
Is nogal afhankelijk van hoe betrouwbaar de uploaders zijn, als ze redelijk betrouwbaar zijn kun je kijken naar de filegrootte en zodra die 10s lang niet veranderd is de file compleet.

Een andere manier zou zijn om md5sums mee te leveren, en zodra de file die md5sum heeft is hij compleet.

Er is volgens mij niet echt een mogelijkheid/optie om te bepalen of een file compleet is onder additionele info (grootte die hij moet hebben of een crc/md5sum)

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 10:36

odysseus

Debian GNU/Linux Sid

Je zou kunnen kijken of je met het commando 'lsof' iets kunt doen. Ik denk bijvoorbeeld aan het volgende scenario:

• Uploaders uploaden bestanden naar directory A
• Jij draait een script dat elke paar seconden of minuten van alle bestanden in directory A controleert of er een proces is dat ze geopend heeft (met behulp van 'lsof', dat de processen toont die een bepaald bestand geopend hebben).
• Je script verplaatst elk bestand dat door geen enkel proces geopend is naar een directory B.
• Jij of wie dan ook die bij die bestanden moet, downloadt alleen uit directory B.

Dat zou moeten werken onder de aanname dat de FTP-server een bestand waar naar geschreven wordt geopend heeft - wat me een erg redelijke aanname lijkt :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • MartinMeijerink
  • Registratie: Juli 2008
  • Laatst online: 27-01 15:36

MartinMeijerink

Computerrorist

check je /var/log/messages, pure-ftpd bijvoorbeeld zegt bij mij wanneer hij klaar is met uploaden:
code:
1
Jun 24 19:04:01 hostname pure-ftpd: (username@80.101.64.22) [NOTICE] /www/zutphen.nu/username/file.jpg uploaded  (123456 bytes, 91.18KB/sec)

An unbreakable toy is useful to break other toys