Скачать резервную копию с помощью `curl` или `wget`

Иногда мне нужно скачать резервную копию с экземпляра, к которому нельзя подключиться по ssh. Скачивание 2 ГБ через домашнее интернет-соединение, где speedtest.net показывает почти 500 Мбит/с, не вызывает больших проблем, но загрузка обратно на канал со скоростью 20 Мбит/с — это уже больно.

Я подумал, что смогу использовать curl и передать API-ключ для скачивания резервной копии, но получаю перенаправление в виде HTML-документа, а попытка открыть эту ссылку через curl завершается ошибкой «bad request».

Неужели есть способ сделать это, который я упускаю?

Да, звучит знакомо. Я сделал это несколько лет назад. Правда, давно не пользовался, так что не уверен, работает ли это без доработок.

Вау! Мои мечты (возможно) сбылись! Спасибо, Майкл. Похоже, мне стоило поискать чуть усерднее.

Почему бы не использовать SCP напрямую между серверами?

Он работает через SSH, позволяет передавать данные без нагрузки на вашу локальную линию и уже установлен на каждом хосте.

В мире существуют инстансы Discourse, к которым у меня есть доступ администратора, но нет доступа по SSH/SCP. :wink:

У меня тоже возникла эта проблема при попытке восстановить резервную копию с машины, к которой у меня нет доступа (то есть без SSH). Ситуация усложнилась тем, что я использую Brevo как поставщика услуг электронной почты, и они искажают ссылку, перенаправляя её на свой сервер для отслеживания.

Для писем с резервными копиями было бы полезно явно отображать полный URL и токен, а не прятать их в теге , который может быть изменён поставщиками электронной почты.

Вам всё равно нужно будет войти в систему, иначе ссылка тоже не будет работать.

Существует ли простой способ «войти» в систему через командную строку удалённой машины перед выполнением wget для загрузки резервной копии?

Ты пробовал мой скрипт из второго поста?