Задать вопрос
  • Нужно исправить строку в батнике, так как не запускается исполняемый файл exe, как это сделать?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    для начала: в bat файлах %AllUsersProfile% должно выглядеть как %%AllUsersProfile%%
    Во вторых, проверьте, есть ли вообще эта переменная и куда она ведет : в командной строке
    echo %AllUsersProfile%
    И, конечно, C:\Users в изначальном батнике лишнее, поскольку в современных ОС Windows AllUsersProfile ведет в C:\ProgramData
    Заодно проверьте а есть ли по указанному в AllUsersProfile пути ваш исполняемый файл
    Ответ написан
  • Как на AWS установить свою Windows?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    во первых: это возможно через import VM image
    https://docs.aws.amazon.com/vm-import/latest/userg...
    во вторых: в связи с изменением виртуального железа - винда попытается переактивироваться после импорта.
    у AWS есть свой KMS сервер и если активация по какой то причине не удастся - импорт по идее будет зафейлен.
    Впрочем, на stackoverflow люди пишут и об удачных импортах
    Для своих лицензий у AWS есть BYOL программа, но, насколько я помню, она относится только к Server продуктам, добавить свою лицензию Win10 вряд ли выйдет

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

    P.S. хочется добавить, что это мои теоретические знания о вопросе. Даже с серверными продуктами зачастую проще сделать новые образы (packer, cloud-init) чем переносить то что у вас на другом хостинге работало, поэтому я миграцией образами никогда не занимался
    Ответ написан
    Комментировать
  • Как мониторить Windows Radius server (NPS) через Prometheus?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    попробуйте telegraf c input windows_eventlog натравить на нужные логи радиуса - это делается через xpath query
    затем выплёвывайте в output в формате прометея
    Ответ написан
  • Как отслеживать срок действия цифрового сертификата когда их много?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    для мониторинга срока действия сертификатов я использую такой простенький скрипт:
    #!/bin/bash
    #usage check-dates.sh `date in YYYYMMDD format`
    
    for f in /certificates/*.cer
    do
      date=$(openssl x509 -in $f -noout -enddate | sed 's/notAfter=//g')
      enddate=$(date -d "$date" +%Y%m%d)
      if (($enddate < "$1"))
      then
    ### your code here
      fi
    done

    в "your code" можно хоть письма отсылать со списком сертификатов у которых enddate удовлетворяет вашим критериям
    Или же можете, используя пример с openssl, вывести список всех сертификатов с enddate в csv и использовать как то по другому
    Ответ написан
    Комментировать
  • Что делать если WireGuard сервера не пигуются?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    какие-то пакеты ходят по сети туда сюда

    ходють тут всякие..
    Wireguard, на секундочку, это UDP, а пинги - ICMP. Протоколы то разные
    Открывайте icmp или проверяйте доступность другим способом, например доступность UDP порта с помощью nc
    nc -zvu <SERVER> <PORT>
    Ответ написан
  • Как запускать несколько stage одновременно?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Есть два варианта развития событий: вы распределяете последовательность выполнения по стейжам или рисуете свой граф выполнения
    В первом случае последовательность стейжей важна - джобы параллелятся в рамках одного стейжа и следующий стейж не запустится пока не выполнятся все джобы предыдущего.
    .pre всегда запускается перед пользовательскими стейжами,
    Во втором - вы можете запланировать свой граф выполнения с помощью needs
    Я не нашел в документации, что .pre все еще будет выполняться первой, если ее джобы участвуют в вашем собственном графе, так что возможно это решение. В случае использования needs (и gitlab 14.2+ или gitlab.com 14.1) можно вообще не прописывать стейжи. В случае gitlab <=14.0 стейжи все еще нужны, потому что needs не будет работать с джобами одного стейжа.
    Внимательно прочитайте требования к needs https://docs.gitlab.com/ee/ci/yaml/#requirements-a... соответственно вашей версии gitlab
    Ответ написан
    Комментировать
  • Как запустить gitlab-runner?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    внимательно прочитайте https://docs.gitlab.com/runner/executors/docker_ma...
    поставили форк docker-machine?
    Ответ написан
    Комментировать
  • Как организовать регулярный бэкап определенных папок на сетевой диск?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    я бы рекомендовал
    1. https://docs.syncthing.net/
    2. owncloud \ nextcloud как решение для NAS и клиент на машинах
    менее удобное но все же
    3. windows backup, если у вас win. Cерьезно. Его хоть и мутировали во что-то странное в 10-ке но он все еще позволяет делать великие вещи с бэкапами пользовательских файлов
    4. скрипты на rsync\robocopy (в зависимости от OS) - но версионность там самому делать или на файловой системе NAS-а
    Ответ написан
    Комментировать
  • Как сделать итерацию по серверам в Terraform?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Vitaly Karasik
    Евгений, я хочу это сделать Terraform

    Terraform - инструмент для провижининга инфраструктуры. tf управляет ресурсами инфраструктуры и хранит их состояние в стейте для того чтобы просчитывать изменения при изменении параметров или кода
    Пользователи на ваших серверах - это уже не инфраструктура, они никак не фигурируют (и не могут без костылей) в стейте tf, а значит именно управлять ими tf не будет.
    Вы, конечно, можете использовать костыль в виде null resource запускающего просто sh\posh\cmd скрипт, который откуда то возьмет данные для подключения к вашим серверам, данные о пользователях которых надо создать
    Терраформ этим ресурсом по сути не управляет, он только выполнит\перевыполнит(по триггерам на состояние других ресурсов в tf) ваш скрипт. О небезопасности хранения учетных данных таким образом думаю не стоит напоминать.
    Аналогично вместо скрипта может быть ансибл\шеф (возможно через провайдер) или что-то другое так же запускаемое терраформом (но стейт созданных "ресурсов"=пользователей хранить будет опять же не терраформ, а значит об управлении речь не идет)
    Не надо плоскогубцами забивать гвозди. Да, в некоторых случаях это возможно сделать, но это создает больше проблем чем решает
    Кстати, намек как плоскогубцами забить гвоздь содержится в описании null_resource - ссылка выше.
    Ответ написан
    8 комментариев
  • Хочу научиться пользоваться командной строкой Windows? Какие материалы посоветуете?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    cmd - наихудший способ "войти в it"
    используйте powershell
    Ответ написан
    Комментировать
  • Как восстановить Instance EC2 AWS?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Если вы хотите восстановить данные с этого инстанса - можно отключить volume и подключить его к новому инстансу, к которому вы имеете доступ
    Если это системный диск - сделайте снапшот и из снапшота создайте volume

    Восстановить доступ к вашему инстансу скорее всего не удастся, если вы не записали никуда пароль, который расшифровали тогда, когда имели доступ
    Ответ написан
    Комментировать
  • Почему bat выводит в wmic неправильный месяц?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    win32_utctime
    посмотри сколько сейчас времени по UTC и у вас (насколько я понимаю вы живете по московскому времени
    алсо, для дебага - выведите себе результат
    wmic path win32_utctime get /format:list и внимательно просмотрите.
    Сейчас вторая неделя месяца и именно эта строка встречается последней (а не сам month) - поэтому ваши фильтры выцепляют именно ее.

    А вообще закопайте уже стюардессу и пишите на powershell, если вы, конечно, не занимаетесь арехологией. Пометка: используйте Windows Powershell а не последний доступный Posh 7. Работа с wmi есть только в windows powershell, из более новых версий она выпилена в угоду кросплатформенности
    Ответ написан
  • Как реализовать общий календарь компании в MS Outlook?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Какая то такая логика должна сработать по идее:
    1.Создать пользователя, у которого включено в настройках календаря "всегда принимать приглашения". Еще там что-то было с busy статусом, но я давно exchange в руках не держал.
    2. Создать транспортное правило - если идет отсылка события календаря кому бы то ни было - она копируется к этому пользователю (я напомню что комнаты - это по сути такие же контакты, можно и комнату держать, если пункт 1. сработает)
    3. Возможная проблема: я не помню, проходит ли через транспортное правило отсылка приглашения самому себе (создание события на одного человека. Например типа отпуск и подобные вещи) - возможно вы не сможете такое отловить.

    Но в общем то и целом, для любой организации хорошо в данном случае работает только административная составляющая, приказ: 'все митинги создавать в календаре "Все компанейские митинги"'
    Ответ написан
    Комментировать
  • Стоит ли класть домашний NAS на виртуалку?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    зависит от выбранного решения NAS
    посмотрите openmediavault - он хорош, если сможете рядом воткнуть ivideon server, unifi контроллер то получите очень удобное решение.

    Недавно решал похожую задачу в связке proxmox + openmediavault (мне виртуализация была важнее и я в итоге выкинул openmediavault :D и сделал zfs, nfs, smb на хосте,а dlna,торренты - отдельно на виртуалке через сетевую шару с хоста работают)
    Ответ написан
  • Как открыть "чистую" консоль powershell?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    не совсем "remove" но позволяет так же добиться чистого экрана при старте posh
    1.
    запускаем powershell и смотрим значение переменной $PROFILE - выдаст где хранится автозагружаемый профиль Posh для вашего пользователя
    2.
    • если файл есть - дописываем туда последней строкой Clear-Host
    • если его нет - создаем его по нужному пути и пишем туда то же самое

    Сохраняем
    3. теперь при запуске powershell под вашей учетной записью будет всегда сначала выполняться этот набор команд.
    Кстати туда можно записать много полезных алиасов, прописывать нужные пути (которые требуются только в среде powershell) - не переопределяя их на уровне системы, разные перемененные окружения и тд и тп, благо это обычный powershell скрипт.
    В общем аналог bashrc
    Ответ написан
  • Как узнать, что занимает localhost:3050?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    В тегах указана windows.
    1 netstat -nba
    И ищем свой порт, кто занимает. Запускать командную строку, конечно, под администратором
    1.a
    Get-NetTCPConnection -LocalPort 3050 | Select LocalAddress, RemoteAddress, RemotePort, @{Label='ProcessName';Expression={(Get-Process -id $_.OwningProcess).ProcessName}}

    То же самое в powershell и с фильтрацией по нужному локальному порту. Тоже под админом.

    2. Есть вообще вариант, что ошибка совсем не про это, а про то, что порт не удается открыть, из за того, что вы ваш скрипт не под админом запускаете

    3. Вы используете windows и при этом скрипты .sh
    Возможно, вы нам чего то не договариваете: например, какой интерпретатор используете для запуска скриптов .sh под windows и не запускаете ли вы их из под wsl
    Ответ написан
    Комментировать
  • Как осуществить поиск и копирование блока строк по ключевому слову в *.txt?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Powershell сейчас не под рукой но выглядеть скрипт должен как то так:
    $file = 'ваш файл'
    $newfile = 'другой файл'
    $keyword = 'parametr'
    (get-content $file -raw) -split "\n\n" | foreach {
        $firststring = $_ -split '\n' | select -first 1
        if $firststring -like $keyword { add-content $newfile $_}
    }

    здесь точно напутано с экранированием спец. символов, а так же не сделаны некоторые обработки для отсутствующих файлов и много чего еще. Дорабатывайте на здровье :D
    Ответ написан
    1 комментарий
  • Нужно отсортировать все файлы по папкам.?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Powershell
    Set-Location c:/temp
    $groups = (Get-ChildItem A*).Name | group-object -property {$_.Substring(30,$_.Length -37)} -ashashtable -asstring
    $groups.Keys | foreach-object { 
        $folder=$_; $groups[$folder] | foreach-object {
                      new-item -itemtype file -path "$folder/$_" -force
                      move-item -path $_ -destination "$folder/$_" -force
         }
    }

    Если нужен однострочник
    cd c:/temp;$g=(dir A*).Name | group {$_.Substring(30,$_.Length -37)} -AHT -asstring;$g.keys | %{$f=$_;$g[$f] | %{ni -type file -path $f/$_ -force; mv $_ $f/$_ -force}}

    Однострочник можно, взяв в одинарные кавычки, передать параметром в powershell.exe, если вам надо было бы использовать этот функционал в уже написанных cmd скриптах.
    Но вообще не надо откапывать стюардессуиспользовать cmd для скриптов. Используйте powershell \ python
    Ответ написан
    2 комментария
  • Как действовать, если SSD завис?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    попробуйте сделать с него снапшот а затем создать из снапшота новый вольюм.
    Если проблема именно в присоединении (а не в самом ebs томе) то с большой вероятностью данные вы свои получите обратно.
    p.s. не забывайте про бэкапы данных, хранящиеся вне рабочих инстансов.
    Ответ написан
    2 комментария
  • Есть ли утилита для просмотра списка файлов в ZIP на S3 бакете?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    пример:
    https://stackoverflow.com/questions/41789176/how-t...
    Если кратко алгоритм:
    1. выясняем размер размер zip файла
    2. читаем несколько байт из zip файла по известному адресу для того чтобы выяснить расположение и размер листинга файлов в zip файле
    3. читаем несколько байт из zip файла с листингом файлов
    4. создаем свой пустой zip файл вставляя туда полученные байты по нужным адресам.
    функциями работы с zip выдаем список файлов

    P.S. скрипт писал не я, но пару лет назад тоже решал подобную задачу.
    "Спасение" тут - это чтение части файла, которое позволяет S3 и знание формата zip
    В комментариях к ответу на SO написано про ограничения в размере zip в 4Гб - я не сталкивался и задачу по обходу проблемы не решал.
    Ответ написан
    5 комментариев