ServerAdmin.ru
31.3K subscribers
664 photos
55 videos
22 files
2.86K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Регистрация в РКН: https://vk.cc/cG1Urj
Download Telegram
Когда только начинал работать с виртуализацией на Linux, очень хотелось сесть за сервер и прямо на нём что-то сделать. Но на тот момент ни XenServer, ни VmWare не позволяли это сделать. На экране сервера был небольшой список простых действий типа настроек сети или перезагрузки. И ничего, что относилось бы к управлению виртуальными машинами. После экспериментов с VMware Workstation и Hyper-V было как-то непривычно и неудобно.

Для управления гипервизором нужно было сесть за какое-то рабочее место, поставить соответствующий клиент и через него подключаться для управления. В Proxmox с этим сейчас попроще, так как управление через браузер. Но тем не менее, он тоже не позволяет локально что-то с ним сделать. В связи этим не возникает проблем в обычной эксплуатации. А вот если вы используете Proxmox в каких-то необычных задачах, то может возникнуть желание подключить к нему монитор и выполнять настройки прямо тут же.

В Proxmox решить эту задачу очень просто. Под капотом там обычная система Debian, на которую можно установить графическую оболочку. Более того, как это сделать, рассказано в официальной Wiki проекта. Там это названо так:

Developer Workstations with Proxmox VE and X11

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

Выполняем непосредственно гипервизоре:

# apt install xfce4 chromium lightdm

Добавляем пользователя, от имени которого мы будем заходить и подключаться к веб интерфейсу:

# adduser webuser

Запускаем графическую оболочку:

# systemctl start lightdm

Можно подключать монитор к серверу, заходить в систему и подключаться к локальному веб интерфейсу по адресу https://localhost:8006.

Вроде мелочь, а на самом деле удобная возможность. Я одно время хотел дома организовать рабочую станцию, чтобы семейные могли работать локально, а я иногда запускать тестовые виртуальные машины в случае необходимости. Решил в итоге задачу через RDP подключение к системе, даже когда на ней кто-то локально работает. Обычная винда позволяет превратить себя в мини-терминальник. Но это отдельная история.

Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox
👍173👎14
Если вам нужно быстро распарсить и проанализировать стандартные логи веб сервера, то могу предложить бесплатный сервис для этого - betterstack.com. Он построен на базе Grafana и Loki, есть бесплатный тарифный план, который как раз и позволяет воспользоваться им с ограничением используемого объёма в 3 ГБ.

Сразу скажу, не стоит серьёзно относиться к подобным сервисам. Для этого есть несколько причин:

1️⃣ Он иностранный.
2️⃣ Речь идёт про бесплатный тариф.
3️⃣ Он просто чужой для вас.

Тем не менее, я когда-то давно рассказывал про axiom.co, куда я дублирую некоторые логи веб серверов. С тех пор он так и продолжает нормально работать, я им иногда пользуюсь, чтобы посмотреть некоторую информацию.

Betterstack примерно то же самое, что и axiom, только более функциональный, и на базе привычного стека Grafana, только перепиленный немного. Он много чего умеет, так как совмещает в себе мониторинг и хранение логов, но лично мне он был интересен только в качестве анализа логов, поэтому делаю акцент на этом.

Кратко поясню, как эта шутка может быть полезна. В комплекте с сервисом идёт преднастроенный сборщик логов vector, который не только отправляет логи в хранилище, но и парсит их, вычленяя информацию об IP, урле, агенте и т. д. То есть разбирает всю информацию из лога. Далее в обзоре логов вы можете делать выборку на основе этих данных. Например, может посмотреть:

◽️кто и когда обращался к конкретному url;
◽️какие страницы посещал клиент с конкретным IP адресом;
◽️кому показывались 404-е ошибки;
◽️ и т.д.

Работа с сервисом выглядит следующим образом:

1️⃣ Вы регистрируетесь. Уже не помню, что надо для регистрации, я давно это сделал, а пишу только сейчас. Вроде только почту спросили.
2️⃣ Устанавливаете через готовый скрипт setup-vector.sh сборщик логов, в который уже будет зашит готовый конфиг и ваш токен. После установки логи сразу потекут в ваш аккаунт. По умолчанию он соберёт логи веб сервера в /var/log/nginx и некоторые системные логи.
3️⃣ Идёте в веб интерфейс и смотрите логи в режиме live tail, то есть в реальном времени, смотрите преднастроенные дашборды, либо делаете свои выборки на основе каких-то правил.

Всё это удобно организовано и каких-то особых знаний не требуется. Хотя это может быть и субъективно. Я часто работаю с логами, поэтому может просто привык уже.

Vector не обязательно ставить на рабочий веб сервер. Можете завести для этого отдельную машину и передавать туда логи. Это если вам не хочется ставить что-то постороннее на рабочие сервера. Хотя в Vector нет ничего особенного. Это уже известный и привычный инструмент для сбора логов. Можно у него конфиг подсмотреть. К примеру, вот регулярка для разбора логов веб сервера:

nginx = parse_regex(.message, r'^\s*(-|(?P<client>\S+))\s+(-|(?P<remote_user>\S+))\s+(-|(?P<user>\S+))\s+\[(?P<timestamp>.+)\]\s+"(?P<request>-\s+-|(?P<method>\w+)\s+(?P<path>\S+)\s+(?P<protocol>\S+))"\s+(?P<status>\d+)\s+(?P<size>\d+)\s+"(-?|(?P<referrer>.+))"\s+"(-?|(?P<agent>.+))"\s*')

Выглядит жутковато. Мне grok фильтры для этих задач видятся проще.

#logs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35👎6
Сегодня у меня заметка, которая может порадовать пользователей Windows. Она будет на тему одновременного подключения к обычной, не серверной редакции Windows по RDP нескольких пользователей. Я всегда знал, что это возможно сделать с помощью RDP Wrapper Library. На эту тему в прошлом написана популярная статья на моём сайте. Вопросом давно не интересовался, статью больше не актуализирую.

И вот недавно узнал, что есть намного проще способ сделать то же самое. Есть редакция Windows 10 Enterprise for Virtual Desktop, где разрешены одновременные подключения по RDP. Windows 10 или 11 легко перевести на эту редакцию. Все ключи без проблем гуглятся. Причём одни и те же. Их почему-то не блокируют.

Для активации режима одновременной работы по RDP открываем консоль от администратора и делаем следующее:

1️⃣ Проверяем версию системы. Я тестировал на Windows 11 Professional. Про другие редакции ничего сказать не могу.

> DISM /online /Get-CurrentEdition

2️⃣ Обновляем Professional до Enterprise:

> changepk.exe /ProductKey NPPR9-FWDCX-D2C8J-H872K-2YT43

3️⃣ Устанавливаем ключ для редакции Enterprise for Remote Sessions:

> slmgr -ipk CPWHC-NT2C7-VYW78-DHDB2-PG3GK

Теперь надо активировать систему. Способов для этого много. Мне знаком способ со сборкой vlmcsd из открытого проекта на github. Он хоть и закрыт уже, но способ рабочий. Наверняка где-то можно взять готовый пакет, но я собрал свой на Debian 12:

# apt install build-essential debhelper git
# cd ~ && git clone https://github.com/Wind4/vlmcsd
# cd vlmcsd
# git submodule update --init debian
# dpkg-buildpackage -rfakeroot -D -us -uc
# cd ~ && dpkg -i ./vlmcsd_1113_amd64.deb

Проверяем, что служба vlmcsd запущена:

# ss -tulnp | grep vlmcsd

Идём в Windows и прописываем там этот сервер для активации:

> slmgr -skms 10.20.1.36

И проводим активацию:

> slmgr -ato

Далее через локальную групповую политику меняем режим лицензирования удалённых рабочих столов. Для этого запускаем оснастку:

> gpedit.msc

Идём в раздел:

◽️Конфигурация компьютера ⇨
◽️Административные шаблоны ⇨
◽️Компоненты Windows ⇨
◽️Службы удалённых рабочих столов ⇨
◽️Узел сеансов удалённых рабочих столов ⇨
◽️Лицензирование ⇨
◽️Задать режим лицензирования удалённых рабочих столов ⇨
◽️Выбираем Включено, режим ставим "На пользователя"

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

❗️Не забываем, что это нарушает все возможные лицензии Microsoft. Так что в свои компании не надо это необдуманно ставить.

Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#windows #rdp
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍339👎5
Любопытное видео посмотрел не по теме канала, но тем не менее это касается каждого из нас. Плюс, было просто интересно. Видео можно прослушать в фоне или за рулём автомобиля.

▶️ Геопространственная разведка на вашем рабочем столе

Автор рассказывает, как используя различные публичные инструменты, осуществлять разведку и поиск объектов по фотографиям. Мне понравилось выступление. Информация в основном для расширения кругозора. Может кого-то заинтересует и он захочет в этом углубиться. Кратко пройдусь по технической части из видео.

Самая база - метаданные на фотках. В них могут быть точные координаты. Но это редко попадается. Далее можно улучшить качество изображения с помощью сервисов deep paint, let's enchance.io, smart upscaler, remini. На картинках можно удалить лишние объекты с помощью cleanup.pictures, removebg. Пригодится для поиска географического места без посторонних объектов в кадре, либо для поиска объектов.

Если есть видео, то можно применить панорамирование - создание из видеороликов панорамы. И далее поиск по панорамам. Ориентировка на изображениях выполняется с привязкой к горам, если они там есть, так как они все известны, посчитаны, измерены. Тени помогают узнать время действия и иногда место. Сервис для этого - Shade Map.

Инструменты для автоматической аналитики: Reverse image search, Advanced object search, поиск по картинке в поисковиках, geolocation estimation. Существуют сервисы объединения панорам со схемой и спутниковой картой: dual maps, maps compare. Это для ручного исследования.

То, что вы сфоткали и выложили в интернет, с большой долей вероятности может быть идентифицировано как географически, так и в привязке к вам. Если не хотите, чтобы о вас кто-то что-то знал, то не выкладывайте о себе информацию. Самая простая защита от этого, которая может сильно осложнить поиск - отзеркалить изображение и наложить лёгкий шум. От автоматических инструментов это реально защитит. Но вручную по деталям специалист всё равно сможет найти информацию.

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

Тут я добавлю некоторые свои мысли. То, что мы сейчас видим в публичном доступе в виде ChatGPT и других нейросетей, скорее всего в закрытых контурах работает уже давно. У того же Apple, Google, Microsoft огромные объёмы собранных данных от людей через конечные устройства. Ни у кого подобных объёмов в масштабах всего мира нет. И сейчас часть этих возможностей вышла в публичный доступ. А в закрытом доступе скорее всего уже работают более точные специализированные нейросети, которые, к примеру, по фотке сразу определяют человека, его голос, его настроение на основе интонаций, его характер, круг общения и предположительное местонахождение этого круга, доходы и т.д.

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

Вроде живёшь себе и живёшь, что сейчас, что 20 лет назад. Но если подумать, то мир кардинально изменился с появлением интернета и повсеместным распространением смартфонов.

#разное
1👍91👎3
Актуализировал свою статью про настройку почтового сервера на базе Debian 12:

Настройка почтового сервера на Debian: postfix + dovecot + web интерфейс

Если вам нужен стандартный почтовый сервер с базовыми возможностями, то с помощью этой статьи вы практически в режиме copy-paste сможете его настроить.

Может возникнуть резонный вопрос. Стоит ли всем этим заниматься самостоятельно и настраивать с нуля? Есть много вариантов готовых почтовых серверов, которые настраиваются в несколько действий. Моё мнение такое. Если вам нужен сервер для небольших вспомогательных задач, то лучше взять что-то готовое и не заморачиваться. Это такие знания, которые некоторым вообще не пригодятся в их карьере. Сейчас услуги почтовых серверов в основном приобретаются как сервис. Если в вашем случае такой сервис можно купить, то купите. Так будет удобнее всем, и пользователям, и тем, кто это будет поддерживать.

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

Второй вариант - вам нужно что-то необычное. Например, изменять письма перед отправкой. Отправлять почту с почтового сервера, используя несколько других в качестве релея, управляя условиями выбора того или иного внешнего сервера. Вы хотите что-то делать с письмами на основе их содержимого, заголовков и других признаков. Например, автоматически удалять какие-то письма по истечении определённого времени. Вам нужен почтовый сервер для двух доменных зон - одна для внешней почты, другая только для внутренней переписки, без возможности отправки какими-то пользователями почты во вне. Вы хотите кому-то запретить отправлять больше 30-ти писем в час. В общем, тут вы ограничены только своей фантазией. На базе Postfix и обвязки можно реализовать разнообразные функциональности.

Полезные ссылки по этой теме:
◽️Подборка онлайн сервисов для диагностики почтовых серверов
◽️Imapsync для переноса почты между серверами
◽️Ограничение на отправку за определённый период времени
◽️Защита почтового сервера с помощью Fail2Ban
◽️Перенос почтового сервера Postfix
◽️Очистка почтовых ящиков средствами Dovecot
◽️Веб интерфейс SnappyMail
◽️Инструмент для диагностики почтовых серверов - Swaks
◽️Модуль статистики для мониторинга Dovecot
◽️Мониторинг postfix в zabbix
◽️Настройка маршрута отправки в зависимости от домена
◽️Как изменить тему письма и адрес отправителя через postfix
◽️Выбор сервера для отправки в зависимости от получателя
◽️Названия imap директорий ф кодировке UTF-7
◽️Бэкап почтовых ящиков с помощью imap-backup
◽️Greylisting для борьбы со спамом

Если ищите себе вариант готового бесплатного сервера, то у меня почти все популярные варианты были на канале:

▪️Mailcow
▪️Mail-in-a-Box
▪️hMailServer
▪️Tegu 
▪️Iredmail
▪️Carbonio CE 
▪️Poste.io
▪️docker-mailserver
▪️Modoboa

Краткое описание некоторых из них было в подборке.

Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#mailserver #подборка
👍231👎3
Я активно использую WSL на своём рабочем ноуте. Очень не хватало возможности запускать программы Linux с графикой. Работал только в консоли. Видел раньше какие-то инструкции на этот счёт, пробовал запускать иксы, но быстро не получалось, а разбираться было лень. Надо было как-то заморочиться с установкой X сервера в Windows.

На днях попал в репозиторий wslg. Там как-то буднично описано, что для запуска GUI приложений достаточно проверить, что WSL версии 2, установить свежий дистрибутив из магазина и установить внутри него необходимое приложение.

Я ничего специально у себя не делал. WSL у меня давно 2-й версии. Система - Windows 11, все обновления стоят. В качестве Linux системы давно уже установлена Ubuntu 22 из магазина. Внутри она обновления до 24-й версии.

Захожу в Ubuntu, устанавливаю gedit:

# apt install gedit

Иду в пуск рабочей системы Windows и вижу там в группе Ubuntu 22 установленное приложение gedit, которое без проблем запускается. Ничего настраивать не надо. Не знаю, в какой момент это стало работать именно так, но работает. Я ничего для этого не настраивал. Похоже с каким-то обновлением винды приехало.

Поставил для теста Edge под Linux:

# wget https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_129.0.2792.79-1_amd64.deb
# apt install ./microsoft-edge-stable_129.0.2792.79-1_amd64.deb

Судя по ярлыкам в пуске, приложения запускаются вот так:

"C:\Program Files\WSL\wslg.exe" -d Ubuntu-22.04 --cd "~" -- gedit

Очень удобно. Теперь приложения и Windows, и Linux работают нативно в одной системе, в распложенных рядом окнах. Пользуйтесь.

#windows
12👍157👎9
Упустил момент с тем, что компания Gitlab ограничила доступ к своему репозиторию gitlab-ee. Не видел новостей на этот счёт. Но при этом остался доступ к репозиторию gitlab-сe. Поясню различия между этими версиями и репозиториями.

Gitlab позволяет развернуть свой продукт в так называемом режиме self-managed. То есть вы его берёте и ставите на свой сервер. Исходный код сервера открыт. У компании есть репозитории с пакетами под все популярные системы.

При этом существуют две редакции Gitlab:

▪️Community Edition
▪️Enterprise Edition

Редакция Community полностью с открытым исходным кодом. Можно брать и пользоваться. Enterprise построена на базе кода Community, но к ней добавлены возможности на основе закрытого кода. Эта дополнительная функциональность будет работать только если вы заплатите, либо запустите ознакомительную версию.

Таким образом, если для вас недопустимо разворачивать продукт, где присутствует код под проприетарной лицензией, то берите Community Edition. Переход с этой версии на платную невозможен. Нужно будет делать миграцию. Если же вам всё равно на наличие закрытого кода, то можно ставить Enterprise Edition. Без оплаты эта редакция будет работать так же, как и Community. Но если вы захотите воспользоваться платными дополнениями, то просто заплатите и будете пользоваться.

Для простоты и удобства Gitlab рекомендует всем ставить Enterprise Edition. Её пакеты лежат в репозитории https://packages.gitlab.com/gitlab/gitlab-ee. Доступ туда IP адресам из РФ закрыт. Потеря невелика, так как что-то купить всё равно не получится. А доступ к репозиторию с Community Edition открыт - https://packages.gitlab.com/gitlab/gitlab-ce. Оттуда можно выполнить установку. Выглядит это вот так:

# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
# EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ce

Не забудьте указать свой url. Для теста можно использовать IP адрес, примерно так: https://10.20.1.36. Учётка для входа будет root, пароль в файле /etc/gitlab/initial_root_password.

Подобным образом вы без проблем можете развернуть бесплатную версию gitlab с открытым исходным кодом на своём сервере. Ни регистраций, ни чего-то ещё не требуется. Можно свободно пользоваться.

#gitlab #devops
👍64👎7
В последние несколько дней заметил какую-то необычную активность на сайте. Заметно выросло количество посетителей по сравнению с прошлыми неделями. Решил глянуть, откуда и куда идёт трафик. Оказалось, что из поисковиков на небольшую заметку про чат-сервер Revolt.

Недавно заблокировали Discord. Я им никогда не пользовался, так что не столкнулся лично с проблемами. Не погружался в эту тему. Судя по всему, Revolt предлагают как альтернативу. У меня совсем короткая заметка про него. Чат я посмотрел в своё время и благополучно забыл про него. Даже не вспоминал. А он, судя по всему, набрал популярность. А в условиях блокировки Discord, большую популярность.

Посмотрел на него ещё раз. Кратко напомню, что это open source проект, который разрабатывается под соусом замены Discord. Написан на Rust, хранит базу в MongoDB, для файлов использует S3. Есть API, веб версия клиента, приложение на десктопы.

Серверная часть упакована в Docker Compose. Установить у себя так:

# git clone https://github.com/revoltchat/self-hosted revolt
# cd revolt
# cp .env.example .env
# wget -O Revolt.toml https://raw.githubusercontent.com/revoltchat/backend/main/crates/core/config/Revolt.toml
# docker compose up

В .env и Revolt.toml надо имя домена указать. Для теста можно IP адрес использовать. Не знаю, возникнет ли у вас ошибка, когда будете пробовать. Я когда запускал, получал ошибку монтирования Revolt.toml. Надо композ немного подправить. Буквально вчера принят PR на этот счёт. Надо в compose.yml заменить:

- ./Revolt.toml:/Revolt.toml

на:

- type: bind
source: ./Revolt.toml
target: /Revolt.toml

После этого проект успешно запустится. Правда зарегистрироваться на своём сервере у меня не получилось. Всё время получал ошибку NETWORKERROR. Бегло не получилось решить проблему. В логах ошибок не было, в репозитории тоже ничего не нашёл. Копать не стал. Подозреваю, это из-за того, что вместо доменного имени использовал IP.

Попробовал зарегистрироваться на их публичных серверах. Не смог. То ли у них сломалось что-то от наплыва пользователей из РФ, то ли специально закрыли регистрацию. Получал ошибку, что не прошёл каптчу, хотя там никакой каптчи нет. Потом вспомнил, что у меня есть учётка. Под ней зашёл нормально.

На вид чат как чат, ничем особо не отличается от всех остальных подобных. Похож на Rocket.Chat. Из-за чего такой ажиотаж вокруг именно Revolt, мне не понятно. Если знаете, напишите, пожалуйста. Можно в том же Telegram общаться. Все те же возможности, что и в Discord и даже больше. Плюс, быстрое, лёгкое приложение для компьютеров и смартфонов.

Хотя я уже не уверен, что Telegram не заблокируют. Там наверху блокираторы с обоих сторон вразнос пошли. Разделяют людей на два противоположных лагеря, минимизируя между ними контакты. Думаю, все понимают, для чего это делается:
🪖 💣 💥 😥

Сайт / Исходники

#chat
👍71👎6
Для подключения по SFTP, SCP или S3 в Windows я использую бесплатную программу WinSCP. Не раз об этом упоминал в разных заметках. Эта программа умеет работать в консольном режиме, плюс поддерживает выполнение команд, переданных через отдельный файл. То есть она поддерживает автоматизацию с использованием простого и интуитивного скриптового языка.

Покажу на простом и наглядном примере передачу файла с Linux машины по SSH на Windows, используя WinSCP и скрипт. Команду на копирование файла мы будем запускать с Windows. У WinSCP есть портабельная версия, так что можно просто скачать и распаковать в какую-нибудь директорию. Оттуда запускать в консольном режиме.

Нам понадобится публичный ключ, с помощью которого мы будем проходить аутентификацию на удалённом сервере, скрипт с набором команд для выполнения после подключения и сам файл, который будем передавать. Сразу уточню, что WinSCP не принимает публичные ключи, сформированные с помощью ssh-keygen. Ключ нужно будет сделать в формате PuTTY, с помощью PuTTYgen. Не понимаю, почему у putty свой формат ключей. Всегда это доставляло только неудобства.

Содержимое скрипта для получения файла с удалённого сервера:

# Подключаемся
open scp://[email protected]/ -privatekey=id_rsa -hostkey="ssh-ed25519 255 s/YHwFuEH3Lq9dGYnBfuELZYkAw4T5umNOPPPFUPCpY"
# Переходим в директорию
cd /home/zerox
# Качаем файл
get testfile.txt "C:\Users\Zerox\Documents\tmp\"
# Отключаемся и выходим
close
exit

Для того, чтобы быстро узнать hostkey, можно запустить без него. Тогда в консоли увидите ошибку, что ключ указанного сервера не добавлен. Копируете его и добавляете.

Запускаем winscp с этим скриптом так:

>winscp.com /ini=nul /script=script.txt

Есть testfile.txt уже есть, он будет перезаписан без лишних вопросов и уведомлений. Подобным образом можно очень быстро организовать необходимую автоматизацию. Например, в этом же скрипте можно скачанный файл передать на другой сервер по sftp с аутентификацией по паролю. Нужно добавить пару строк в скрипт:

open sftp://user:[email protected]/
put "C:\Users\Zerox\Documents\tmp\testfile.txt" "/mnt/backup"

На сайте WinSCP есть описание работы скриптов, список команд и готовые примеры:

◽️Общее описание скриптов и автоматизации
◽️Команды
◽️Примеры скриптов

Многие вещи с помощью WinSCP будет сделать быстрее и проще, чем в том же bash или других скриптовых языках. Например, забрать самый свежий файл из директории можно вот так:

get -latest /home/user/* c:\downloaded\

Я на баше подобное писал, там сильно сложнее. Надо было подключиться по ssh, там выполнить команду с find с параметрами поиска, вывод результата передать в scp. Делал тут когда-то заметку об этом.

Так выглядит проверка существования файла с помощью bat и winscp:

@echo off
set REMOTE_PATH=/home/user/test.txt
winscp.com /command "open mysession" "stat %REMOTE_PATH%" "exit"
if %ERRORLEVEL% neq 0 goto error
echo File %REMOTE_PATH% exists
rem Do something
exit /b 0
:error
echo Error or file %REMOTE_PATH% not exists
exit /b 1

Все действия можно логировать с помощью ключа /log=myscript.log:

> winscp.com /ini=nul /log=myscript.log /script=myscript.txt

Удобная штука, если у вас в хозяйстве есть сервера или рабочие машины с Windows. Многие вещи с WinSCP можно решить относительно просто.

#windows #scp #sftp
👍99👎3
Собрал небольшую подборку видео на тему тестировщиков и разработчиков. Она по популярности и насыщенностью приколами примерно такая же, как сисадмины и пользователи. Пару видео отсюда уже были ранее на канале, другие хоть и баяны, но лишний раз пересмотреть всё равно интересно.

#юмор
3👍134👎5
🎓 У меня было много публикаций с бесплатными курсами на обучающей площадке Stepik. Вообще, это неплохая платформа для неспешного фонового обучения. Там много хороших бесплатных материалов, а платные курсы стоят недорого. С их помощью можно захватить какую-то конкретную тематику. Она именно под это заточена. Полноценное обучение по какой-то специальности там не очень удобно проводить, а вот отдельные темы - самое то.

Список прошлых публикаций с бесплатными курсами на Stepik:

- Курсы на тему основ Linux
- Программирование на Python
- Курсы по SQL и Golang

Ещё один хороший курс про Docker в копилку:

Docker для начинающих + практический опыт

Мне его посоветовал читатель. Автор курса, если я правильно понял, основатель небольшого обучающего портала с несколькими курсами, которые он написал сам, будучи техническим специалистом. На Степике есть ещё бесплатный курс от него:

Ansible для начинающих + практический опыт

И несколько платных за небольшие деньги. Попробуйте, может это будет хорошим вариантом научиться чему-то новому за 5000 - 8000 т. р. У курсов хорошие рейтинги и отзывы. В сравнении с курсами от популярных он-лайн школ это почти бесплатно. Дешевле в 10-20 раз.

#обучение #бесплатно
👍117👎5
На прошлой неделе была рассылка от Zabbix. В ней анонсировали запуск Zabbix Cloud. Я сразу предположил, что они запустят свой облачный сервис после недавней замены лицензии GPL на AGPL. Так и случилось. Решил проверить, что это такое и как работает.

После регистрации ждал примерно день, пока активируют учётную запись. Судя по всему, вручную это делают. После подтверждения на email создания личного кабинета, зашёл в него и активировал trial на 5 дней. Выбрал ноду во Франкфурте и развернул её.

По своей сути я получил обычный Zabbix Server, развёрнутый на серверах облака. Мне дали адрес веб интерфейса, логин, пароль. Внутри самый обычный Zabbix Server, к которому я могу подключать агентов. Он ничем не отличается от такого же, который я могу развернуть на арендованном сервере.

Каких-то особых фишек и возможностей не увидел, кроме автоматического обновления до новых версий сервера. Причём отказаться от такого обновления вы не сможете. Автоматические бэкапы обещают раз в неделю. Чаще можно делать вручную через веб панель управления нодой. Выгрузить свой бэкап за пределы облака нельзя, как и загрузить туда версию своего сервера. Восстановление из бэкапа только там. Наверняка есть какой-то тюнинг СУБД, чтобы всё это работало побыстрее, чем дефолтная установка.

В таком виде вообще не увидел никакого смысла в saas. Развернуть голый Zabbix Server - дело 10-ти минут. Возможно в будущем появятся какие-то дополнительные возможности и удобства. Например, какой-то механизм автоматического обновления шаблонов. Это прям тяжёлая для меня тема, когда нужно обновить стандартный шаблон на новую версию. Нет простого способа это сделать без удаления старого, очистки всех метрик и добавления нового шаблона. Не хватает какого-то механизма сравнения и склеивания шаблонов для обновления до свежей версии.

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

#zabbix
👍70👎3
Для автоматизации установки и настройки виртуальных машин в Proxmox я рассказывал про Cloud-Init. С помощью этой технологии можно создать преднастроенный образ, который включает в себя базовые настройки системы, такие как сеть, пользователи, установка пакетов и некоторые другие.

Если хочется пойти дальше в автоматизации и развернуть сразу набор виртуальных машин определённой конфигурации, то для этого можно воспользоваться Terraform. Для Proxmox есть провайдер (terraform registry доступ через vpn, github). Это самый популярный. Есть ещё один, который очень активно развивается и допиливается - terraform registry и github.

Кратко поясню, для тех, кто не знает, что такое Terraform и для чего он может быть полезен в связке с Proxmox. Terraform был разработан как решение по управлению в стиле IaC (Infrastructure as Code, IaC) - инфраструктура как код. В первую очередь это касается управления ресурсами облачных провайдеров. Вы описываете в Terraform, что хотите получить на выходе, запускаете шаблон и получаете набор виртуальных машин, сетей и прочих облачных ресурсов. Причём вы можете оперативно как развернуть инфраструктуру, так и потушить. Это актуально для динамических сред с плавающей нагрузкой. Часто Terraform работает в связке с Ansible. Первый разворачивает инфраструктуру, второй её настраивает.

Proxmox не является инструментом для построения динамичных облачных инфраструктур. Его область применения - одиночные гипервизоры или небольшие кластеры на несколько серверов. По моим представлениям в проде на базе Proxmox нет большой нужды использовать Terraform. Он может быть актуален для каких-то тестовых задач как по изучению самого Terraform, так и для разворачивания тестового окружения в Proxmox. Можно разом развернуть какую-то лабораторию и потом так же в одно действие от неё избавиться.

Использование Terraform с Proxmox выглядит примерно следующим образом. Это не будет готовой инструкцией, так как в формат заметки не уместить. Все подробности без проблем гуглятся, так как тема живая. В целом, Terraform относительно простой инструмент. Чтобы начать им пользоваться достаточно небольшой инструкции или видео. Можно брать готовые шаблоны из статей или документации и править под себя.

1️⃣ Готовится образ с использованием Cloud-Init, на базе которого будет разворачиваться инфраструктура.
2️⃣ Создаётся отдельный пользователь и токен для него, который будет использовать Terraform.
3️⃣ Устанавливается Terraform или Opentofu (форк).
4️⃣ Создаётся конфигурация с провайдером и планон разворачивания инфраструктуры. Будут 2 файла: provider.tf и vm-debian12.tf. Содержимое прикреплю следующим сообщением. По желанию можно все переменные вынести в отдельный файл.

Пример конфигурации можно посмотреть в репозитории. После подготовки конфигурации, её можно проверить:

# terraform init
# terraform validate

Посмотреть, что будет создано:

# terraform plan

Если всё ОК, то создаём описанное:

# terraform apply

Когда всё это будет не нужно, удаляем:

# terraform destroy

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

Как я уже говорил, инструмент относительно простой. Я быстро во всём разобрался и протестировал. Единственный неприятный нюанс - репозитории terraform и opentofu заблокированы для РФ. Пришлось трафик через VPN пускать. У меня всё автоматизировано для этого. Отправил домены registry.terraform.io, apt.releases.hashicorp.com и registry.opentofu.org через VPN на шлюзе.

Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox #iac #terraform
Please open Telegram to view this post
VIEW IN TELEGRAM
👍138👎6
С уходом Atlassian с рынка РФ для некоторых компаний возникла масштабная задача по переходу на какие-то другие продукты в качестве замены Jira, Confluence, кому-то возможно и Trello. У меня, кстати, последний до их пор работает. Когда-то давно поменял email на гугловский и спокойно пользуюсь по сей день.

Так вот по поводу перехода. В настоящий момент эту тему особо не обсуждают, так как пик замены пришёлся на 2022 и 2023 год. Сейчас уже всё устаканилось. В качестве замены есть вариант использовать китайский продукт ZenTao. У него есть встроенный инструмент для автоматического импорта данных из Jira. Про него не очень много информации, но я нашёл отзыв реального человека, где он дал положительную оценку продукту после годового использования. У ZenTao есть вполне функциональная open source версия, так что я решил написать про него. Возможно кому-то это будет полезно. На первый взгляд продукт выглядит неплохо.

В рунете информации о ZanTao очень мало. В основном это материалы от компании GlowByte, которая занимается продажами продукта в РФ. Ссылки на статьи:

Что такое ZenTao и как установить его на Windows за 5 минут
Как устроен модуль «Документы» в ZenTao и может ли он заменить Confluence от Atlassian
Дзен в управлении продуктами

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

Система управления проектами ZenTao

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

Спустя почти год использования системы уже можно говорит о том, что мнение о системе ZenTao сложилось. Даже в бесплатной версии система управления проектами ZenTao – это тот продукт, на который стоит обратить внимание. Особенно с учетом того, что его прямые конкуренты в виде MS Project, JIRA и Trello сейчас не так легко приобрести (если вообще возможно). А с учетом стоимости и получаемого набора функций в платных версий, на мой взгляд, получается очень гуманная цена.

В ходе эксплуатации системы мы уже несколько раз устанавливали обновления, т.е. продукт активно развивается. Причем, после каждого обновления мы находили какие-то интересные опции. Например, рабочие процессы, новый раздел для обучения (Academy) и т.д.

Отдельно хочу отметить стабильность работы системы – за весь период эксплуатации не было ни одного внепланового простоя системы. Это прям очень порадовало.

Порекомендовал бы я систему ZenTao в качестве системы управления проектами? Несомненно. Хотя бы попробуйте поработать с бесплатной версией программы. И тогда вы точно сможете понять – подходит ли эта система именно вашей методологии работы с проектами или нет.

Посмотреть на ZenTao можно либо в публичном Demo, либо развернуть у себя. Есть готовые установщики под Windows и Linux, а также Docker версия. Хотел воспользоваться последней, но там всё описание на китайском. Не стал разбираться. Запустил версию под Linux:

# wget https://www.zentao.pm/dl/zentao/20.6/ZenTaoALM-20.6-zbox_amd64.tar.gz
# tar -zxvf ZenTaoALM-20.6-zbox_amd64.tar.gz -C /opt
# /opt/zbox/zbox start

В общем-то и всё. Приложение написано на php + mysql. Рабочий стек: Apache, PHP, MariaDB. Разработчики как-то упаковали весь стек в архив и запускают его через bash скрипт. Можно идти в веб интерфейс по IP адресу сервера и смотреть.

Различия между open source и платными редакциями можно посмотреть на отдельной странице. Приятно, что в бесплатной версии оставлена интеграция с git, gitlab, jenkins, возможность настроить ci/cd и другие штуки. Весь раздел DevOps представлен. Так же оставлена возможность вести базовую документацию. LDAP, как обычно, только в платных редакциях.

Бесплатная редакция на русском языке отсутствует, есть английский. А вот платные переведены на русский язык.

🌐 Сайт / 4️⃣ Исходники / 📺 Русскоязычная группа в TG

Бесплатные аналоги ZenTao можете посмотреть по соответствующему тэгу снизу.

#itsm #управление_проектами
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55👎9
Запустил вчера старый ноут с Windows 10, который несколько месяцев пролежал выключенным. Он как с цепи сорвался. Минут 30 жужжал вентилятором на максимальных оборотах и что-то проверял, вычислял, качал, отправлял (?).

Просто жесть. Устройством пользоваться невозможно. Когда каждый день пользуешься ноутом, не замечаешь как-то, что система всё сливает в сеть.

А вот если она постоит, то у меня создаётся впечатление, что она тут же, пока её не успели выключить, стремится как можно больше собрать информации, тут же её всю отправить и загрузить к себе новые инструкции. Не может подождать даже минут 10-15, чтобы можно было хотя бы начать пользоваться системой.

Я уже привык, что старые устройства надо включить и оставить полежать, чтобы они отправили и получили всё, что им надо, а потом можно работать. С Android устройствами такая же история. Мне в данном случае не понятно одно - зачем делать это так агрессивно и прямо сразу после запуска. Можно же выдать пользователю плашку на тему того, мол хотите обновиться прямо сейчас или подождём минут 30? Тут прям сразу без вопросов всё накатили и предложили перезагрузку, которая ещё минут 10 длилась. Эта проблема, кстати, актуальна для различных устройств в переговорных комнатах, которые редко включают, а потом при запуске приходится ждать обновлений.

Или ещё пример из жизни. Ко мне как-то монтажники в один офис приезжали настроить направленную антенну. Они это не часто делают. Для настройки используют какой-то небольшой ноут, который удобно с собой возить и на коленке настраивать. Он маломощный. Приехали они ко мне, запустили его и он начал обновления качать и ставить. Прождали наверное около часа, пока он всё закончит. А у них рабочий день.

Не знаю, зачем я всё это написал. И так понятно, что все виндузятники и яблочники под плотным колпаком. Не хотел специально об этом писать, но прям зацепила эта тема.

Я убеждён, что вся информация (или выжимка) об использовании устройств и данных на них практически в режиме реального времени куда-то утекает, индексируется, каталогизируется и хранится. Для чего конкретно - хз, можно только догадываться. Не успел заскринить, а там ещё служба криптографии долго что-то вычисляла, писала на диск и отправляла по сети. Минут через 5 после запуска к процессу автообновления подключились и браузеры: яндекс и брейв. Эти поскромнее оказались, дали немного времени после загрузки системы. Буквально минут 5. Потом тоже обновились в фоне.

Можно, конечно, уповать на то, что есть Linux и надо использовать его. Но глобально это ни на что не повлияет. Как только доля Linux устройств у людей перевалит за какую-то значимую величину, там тоже начнут собирать данные. Если уже не собирают. Технически всё готово для этого - systemd. На него уже различные компании, связанные с безопасностью жалуются, что он очень переусложнён, что делает затруднительным анализ исходного кода. Сдаётся мне, что переусложнили его и внедрили во все дистрибутивы на базе Linux неспроста.

Такой вот вечер паранойи и шапочки из фольги получился. Что думаете об этом? Я перегибаю палку в теории заговора или согласны плюс-минус со мной?

#разное
4👍245👎14