Een via SSH gestarte download in een lokaal bestand opslaan
Kies tussen een lokale download via een proxy en een externe ophaal gevolgd door een overdracht, en houd de uitvoer van de opdracht gescheiden van de bytes van het bestand.
Een downloader via SSH uitvoeren en een lokale downloader via een externe proxy uitvoeren plaatsen de download op verschillende plekken:
| Opstelling | Wie haalt de website op? | Waar het bestand wordt geschreven |
|---|---|---|
| Lokale downloader via een externe proxy | De lokale HTTP-client bezit het verzoek; de proxy draagt het | Het uitvoerpad van de lokale downloader |
| Via SSH gestarte downloader | Een programma op de externe machine | Het externe pad, tenzij gegevens expliciet worden teruggebracht |
Met een geautoriseerd SSH-account en extern geïnstalleerde curl kunt u het artefact terugbrengen op de standaarduitvoer:
ssh -T [email protected] 'curl --fail --silent --show-error https://downloads.example/file.bin' > file.partVervang het voorbeeldaccount en de URL. De omleiding staat buiten de geciteerde externe opdracht, dus de lokale shell opent file.part. Zet u die binnen de externe opdracht, dan hoort het pad bij de externe omgeving.
Gebruik een vers tijdelijk pad: de lokale shell kan dat bestand aanmaken of afkappen voordat de externe bewerking slaagt. Controleer het exitresultaat van SSH en het artefact voordat u het zijn definitieve naam geeft.
De standaarduitvoer mag alleen de bytes van het artefact bevatten. Begroetingen, voortgangsbanners of wrapper-berichten kunnen die beschadigen; diagnostiek hoort op de standaardfout. Een externe opdracht die naar zijn eigen bestandsnaam opslaat, stuurt misschien helemaal geen bytes terug. Behoud het exitresultaat van de downloader door elke wrapper heen.
U kunt in plaats daarvan extern opslaan en het bestand met SFTP overdragen. Als SSH al een proxyhulp gebruikt, hergebruik dan die SSH-hostvermelding voor de overdracht. Als het doel een lokale proxy-werkstroom is, houd de downloader lokaal en configureer de ondersteunde proxy-interface.
Hoe dan ook, een bestand dat uw laptop moet bereiken, moet nog steeds zijn netwerkverbinding oversteken. De keuze verandert de verbinding richting de website en het proces dat de download uitvoert.