☕ 1 min read
Today, I was working on Busbud “Preview” environment. I was connected to the distant Heroku machine, through ssh (with the Heroku CLI command heroku run bash
). I ran a task that generates a CSV report and I wanted to get it on my local machine so I can read it more conveniently.
In such a scenario, I usually use scp
from my machine to download the file from the distant server. But I didn’t know the address of the machine I was connected to since I used the convenient Heroku CLI. I could have searched for it, but instead, a Google search gave me a nice solution: transfer.sh.
The idea is to send data to this service from CLI, then retrieve it from an URL. Data could also be encrypted, and upload is made through https 🔐
Usage is very simple. Say I want to get my task-report.csv
:
curl --upload-file ./task-report.csv https://transfer.sh/my-report.csv
After the upload is complete, I get the URL where I can retrieve it (e.g. https://transfer.sh/66nb8/my-report.csv
).
Data are stored 14 days by default. But this can be configured on upload, with other different options like:
curl -H "Max-Downloads: 1" -H "Max-Days: 5" --upload-file ./hello.txt https://transfer.sh/hello.txt
I can also configure an alias for convenience, but I didn’t feel I need to—I’d usually use that from a distant server which I don’t have the address on hand.
So yeah. I did that and got my CSV file in no time. Thank you transfer.sh!
And you, do you have tips & tricks for retrieving distant files?