TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #51 7.18K
Пятница и «Международный день пива» прям подкосили. Спасибо, но в следующем году я на этот фестиваль не куплюсь ❤️

Сегодня пусть и выходной, но это ничего не меняет. Поведаю про фичу с помощью которой можно легко передавать разработчикам нужные им файлы с серверов.

Частенько меня просят скинуть какой-нибудь огрызок лога, выгрузку и т.п. Тут алгоритм простой:

- зашел на сервер по ssh
- нашел/сделал то, что нужно передать
- если файл большой, то сжать
- вспомнить синтаксис scp
- на локальной машине натыкать команду чтобы забрать себе этот файл

scp -r user@bashdayz:/tmp/nginx.log /home/user/tmp/

- скинуть файл человеку в слак/маттермост
- если файл большой, выложить его на корпоративный google drive
- скинуть человеку ссылку на файл на корпоративном диске

scp (Secure CoPy) — утилита для безопасного копирования данных между Linux-системами по протоколу SSH

Тут подходит фраза из мема: вот это нихуя ничего себе! 😳 Ладно если это делаешь раз в месяц. Но если такое происходит пару раз в неделю, то ощущаются первые нотки выгорания.

Все гениальные вещи придумали ленивые люди. А мы с тобой одни из них. Поэтому бо́льшую часть я успешно автоматизировал через bash.

А вот и сам скрипт. Обзови его trans и закинь в /usr/local/sbin. Ну и не забывай про chmod +x /usr/local/sbin/trans.

Запускается всё это безобразие так: trans <файл>

#!/bin/bash

SIZE=1000000

if [ -n "$(find "$1" -prune -size +"$SIZE"c)" ]; then
tar -czvf /tmp/$1.tar.gz $1
curl --upload-file /tmp/$1.tar.gz https://transfer.sh/$1.tar.gz
rm /tmp/$1.tar.gz
else
curl --upload-file $1 https://transfer.sh/$1
fi

Логика такая:

1. Если размер файла > 1 мб, то сжимаем
2. После сжатия загружаем файл в сервис transfer.sh
3. Подчищаем за собой
4. Если файл < 1 мб, то просто загружаем как есть в тот же сервис transfer.sh
5. После загрузки в консоль выводится ссылка для скачивания
6. Копируем полученную ссылку и передаем разработчику
7. Профит. Минимум действий, максимум удобства

Сервис transfer.sh это очень удобная и простая штука, которая позволяет обмениваться файлами с помощью curl/wget. Без регистрации и смс. Лимиты приличные 10гигов на файл, 14 дней хранятся на сервере. Есть возможность зашифровать перед отправкой и проверить на вирусы. И все это бесплатно.

А еще в curl можно передать заголовки -H "Max-Downloads: 1" -H "Max-Days: 5" и тогда файл разрешат скачать только один раз, а через пять дней он сам удалится. Пожалуй очень удобно.

Тут конечно возникает вопрос — эммм, но это же не безопасно? Конечно не безопасно, поэтому годится лишь для передачи какой-то некритичной информации. А я передаю чисто логи, в них ничего критичного нет.

Ну а если хочется передать сканы документов или реквизиты банковских карт, то в мой скрипт ты можешь встроить gpg шифрование. Либо переделать сжатие на 7z и зашифровать по максимуму. Но опять же не рекомендую, лучше передавай важные документы другим, более безопасным способом.

Мысли в слух: Вот есть корпоративный google диск, хранишь ты там абсолютно всё, включая секреты компании. Безопасно? НЕТ! Гугол давно уже у тебя всё спёр и всё про всех знает. Так что можно булки расслабить и перестать параноить. Ладно, опять в лирику ударились.

Короче бери на заметку, дорабатывай, переделывай. Можешь добавить xclip/pbcopy чтобы ссылка автоматом в буфер обмена копировалась. Ну и зайди на сайт transfer.sh и посмотри все возможности, которые они предоставляют. Там все с примерами, разберется любой.

А можно создать приватный телеграм/слак/маттермост канал, добавить туда разработчиков и в скрипте прикрепить отправку ссылки в этот канал. Тогда даже ссылку не нужно будет руками копировать и передавать разработчику, максимальная автоматизация.

Удобно? Удобно! А главное максимально просто. Хорошо тебе провести остаток выходных, ну и увидимся!

tags: #bash #services
—
🟢 Подпишись: @bashdays
  • 👍 138
More from @bashdays
  1. Oct 4, 2026Архивирование и хранение. Часть 2/4. Всем привет, с вами снова TagdTagd. Первая часть тут:…
  2. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  3. Sep 24, 2026Post #1565
  4. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  5. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  6. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →