i_odmin | Unsorted

Telegram-канал i_odmin - Системный администратор

26303

Все для системного администратора. По всем вопросам @evgenycarter РКН clck.ru/3KoDXp

Subscribe to a channel

Системный администратор

Cron в Linux: полное руководство для админов + скрытые проблемы

Все, кто администрирует Linux, рано или поздно сталкивается с cron - стандартным планировщиком задач. Но если настроить его "на скорую руку", можно обнаружить неприятные сюрпризы:

- Скрипт не запустился, тк cron работает в другом окружении
- Сервер лёг от нагрузки, потому что 100 задач стартовали одновременно
- Вы не узнали об ошибке из-за того, что вывод скрипта попал в /dev/null

В этой статье разбор не только основы работы с cron, но и:

- Продвинутые форматы расписания - как задавать сложные интервалы и комбинировать условия
- Типичные подводные камни - работа с переменными окружения, логирование, управление параллельным выполнением
- Альтернативы для сложных сценариев - когда cron уже недостаточно и стоит обратить внимание на systemd.timer

А также, дополнительная информация:

- Как избежать "падений" из-за наложения задач
- Когда cron - хороший выбор, а когда лучше использовать другие инструменты

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

https://habr.com/ru/articles/933574/

👉 @i_odmin

Читать полностью…

Системный администратор

Создаём образ RDP-клиента для запуска с USB-флешки

Клиент RDP — это программное обеспечение, которое позволяет подключиться к терминальному серверу с использованием протокола удалённого рабочего стола (Remote Desktop Protocol).

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

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

Поэтому создадим свой легковесный образ на на основе Debian 12, используя проверенные пакеты. Готовый образ можно будет записать как на USB-флешку, так и на жесткий диск. А в перспективе такой образ можно будет загружать на тонкий клиент через сеть.

Часть 1 https://habr.com/ru/articles/935022/
Часть 2 https://habr.com/ru/articles/935226/
Часть 3 https://habr.com/ru/articles/935484/

👉 @i_odmin

Читать полностью…

Системный администратор

🎯 Мониторинг занятости диска с алертом на почту 📬

Хотите, чтобы сервер сам предупреждал вас при нехватке свободного места на диске? Никидал простой bash-скрипт, который отправит письмо, если свободного места останется меньше 10%:


#!/bin/bash
# автор: /channel/bash_srv

# Порог в % (если меньше — шлём алерт)
THRESHOLD=10
EMAIL="admin@example.com"

# Получаем список всех точек монтирования
df -hP | grep -vE '^Filesystem' | while read line; do
USAGE=$(echo $line | awk '{print $5}' | tr -d '%')
MOUNT=$(echo $line | awk '{print $6}')

if [ "$USAGE" -ge $((100 - THRESHOLD)) ]; then
echo -e "На сервере $(hostname)\nМонтирование: $MOUNT\nЗанято: $USAGE%" | \
mail -s "⚠️ Мало места на диске $MOUNT" "$EMAIL"
fi
done


📌 Как использовать:

1. Убедитесь, что установлен mailx (или mail).
2. Измените переменную EMAIL на свой адрес.
3. Добавьте скрипт в cron, чтобы он выполнялся, например, каждый час.

🛡️ Так вы всегда будете в курсе, что диск переполняется, до того как сервер упадёт 🚨

👉@bash_srv

Читать полностью…

Системный администратор

💻 Мониторинг в высоконагруженных проектах 🔧

🔥 12 августа в 20:00 мск — открытый вебинар в OTUS.

На вебинаре рассмотрим:

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

🎓 После вебинара вы:

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

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

🎁Все участники получат шаблон развертывания кластера RabbitMQ

👉 Регистрация https://vk.cc/cOtA15

Бесплатное занятие приурочено к старту курса Highload Architect, обучение на котором позволит освоить решения, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Системный администратор

📁Ext4 против XFS — какую файловую систему выбрать

Пользователи Linux редко задумываются о том, какая файловая система используется. Во время установки системы большинство выбирает вариант по умолчанию, даже не рассматривая другие возможности. В Windows всё проще — там доминирует NTFS. В Linux же доступно множество файловых систем: Ext4, XFS, ZFS, BTRFS и другие.

Наиболее распространены Ext4 и XFS: XFS используется по умолчанию в дистрибутивах на базе RHEL, а Ext4 — в Debian и Ubuntu. При выборе файловой системы важно учитывать масштабируемость, стабильность и целостность данных.

В этом посте мы сосредоточимся на Ext4 и XFS, чтобы понять, чем они отличаются.

➡️Файловая система Ext4

Ext4 (Extended filesystem) — четвёртое поколение семейства Ext, корни которого уходят в ОС Minix (1987). Первая версия Ext появилась в ядре Linux в 1992 году, а Ext4 была представлена в 2008 году с выпуском ядра 2.6.28, сменив Ext3.

Ext4 отлично справляется с хранением множества мелких файлов и надёжно записывает метаданные, даже если при записи кэш обрывается из-за отключения питания.

Ключевые особенности Ext4:

🔘Поддержка больших файлов: до 16 ТиБ на один файл (для сравнения, XFS поддерживает до 8 ЭиБ).
🔘Отложенное выделение блоков (extent-based allocation) для ускоренной записи.
🔘Обратная совместимость: можно монтировать Ext2 и Ext3 как Ext4, а некоторые функции Ext4 могут быть реализованы в старых системах.
🔘Эффективное распределение блоков перед записью на диск, что повышает скорость чтения/записи.
🔘Контрольные суммы журнала для снижения риска повреждения файлов.
🔘Быстрая проверка файловой системы (fsck работает заметно быстрее, чем в Ext3/Ext2).
🔘Таймстемпы с точностью до наносекунд и продление временной шкалы на 408 лет после 2038 года.
🔘Неограниченное число подкаталогов (в Ext3 максимум 32 000).
🔘Прозрачное шифрование (с Linux 4.1, июнь 2015).

➡️Файловая система XFS

Разработана Silicon Graphics в 1993 году как высокопроизводительная 64-битная журналируемая ФС. Поддерживает файловые системы объёмом до 18 ЭиБ и огромные файлы. Оптимальна для систем с большими массивами дисков, мощными CPU и необходимостью хранить крупные объёмы данных.

XFS особенно хороша при работе с большими файлами и высокой масштабируемостью ввода-вывода. Это стандартная ФС в RHEL, CentOS, Oracle Linux, Rocky Linux, AlmaLinux.

Ключевые особенности XFS:

🔘Поддержка больших ФС: до 1 ПиБ (в зависимости от версии дистрибутива), тогда как Ext4 — до 50 ТиБ.
🔘Отложенное выделение блоков (lazy allocation) для снижения фрагментации и увеличения скорости.
🔘Онлайн-дефрагментация и расширение ФС без размонтирования.
🔘Продвинутые алгоритмы чтения метаданных.
🔘Журналирование метаданных для сохранения целостности при сбоях.
🔘Журналирование квот для быстрого восстановления после падения системы.
🔘Поддержка расширенных атрибутов (имя/значение для каждого файла).
🔘Масштабируемость хранения с помощью B-деревьев.
🔘Нет необходимости в регулярном fsck — консистентность поддерживается журналированием (при необходимости есть xfs_repair).

Итог

🔘Выбор файловой системы зависит от задач и условий:
🔘размеры файлов и объём ФС,
🔘нагрузка на ввод/вывод,
🔘допустимое время простоя,
🔘требования по скорости и задержкам.

Ext4 лучше подходит для универсального использования и больших массивов мелких файлов, XFS — для крупных файлов и высоконагруженных систем с большими объёмами данных.

👉 @i_odmin

Читать полностью…

Системный администратор

Как защитить сервер Linux

Ограничьте, кто может использовать sudo


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

Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.

Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):

cat /etc/group | grep "sudo"


Шаги

1 - Создайте группу:
sudo groupadd sudousers

2 - Добавьте учетную запись(и) в группу:
sudo usermod -a -G sudousers user1
sudo usermod -a -G sudousers user2
sudo usermod -a -G sudousers ...

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

3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")

4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
sudo visudo

5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
%sudousers ALL=(ALL:ALL) ALL

👉 @i_odmin

Читать полностью…

Системный администратор

Экологичное расставание с Алисой: строим полностью локальный и приватный голосовой ассистент

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

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

Тем более что сейчас единственным слабым звеном в моём умном доме остается Яндекс Алиса — которая требует постоянного интернет‑соединения даже для выполнения простейших команд управления локальными устройствами.

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

https://habr.com/ru/articles/930340/

👉 @i_odmin

Читать полностью…

Системный администратор

🛜 Быстрое сканирование сети с выводом живых хостов

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


#!/bin/bash
# Быстрое сканирование сети (замени 192.168.1 на свою подсеть)
# автор: /channel/bash_srv
SUBNET="192.168.1"

for i in {1..254}; do
(
ping -c1 -W1 $SUBNET.$i &>/dev/null && echo "$SUBNET.$i доступен"
) &
done
wait


Что делает скрипт?

- Перебирает адреса от 192.168.1.1 до 192.168.1.254
- Параллельно пингует их с таймаутом 1 секунда
- Выводит только живые хосты

⚡ В 10-20 раз быстрее обычного пинга благодаря параллельному запуску!

Попробуй сохранить скрипт как scan.sh, сделать его исполняемым (chmod +x scan.sh) и запустить.

👉@bash_srv

Читать полностью…

Системный администратор

Чеклист по приложениям реального времени в Linux

Может ли ядро Linux при всей своей гибкости обеспечивать гарантированное время отклика при работе с приложениями?

Ядро Linux является универсальным и приспособлено к работе как с крошечными встраиваемыми устройствами, так и с титаническими серверами… а также со всем спектром машин между этими крайностями! Но может ли такое поразительно адаптивное ядро обеспечить гарантированную скорость отклика для приложения, работающего на всех этих платформах? Если в вашем приложении допустимая задержка при отклике укладывается в 200 микросекунд — то уверенно отвечаем на этот вопрос «да»! (Кстати, для Linux такая планка совсем не высока, но, чтобы её держать, потребуется тщательно подбирать аппаратное обеспечение и, возможно, обратиться за консультацией к специалисту по системам Linux, работающим в режиме реального времени).

Итак, почему же в приложении, работающем под Linux, иногда могут возникать задержки свыше 200 микросекунд? Универсальность ядра Linux требует сбалансировать пропускную способность, время отклика и честность распределения процессорной мощности, чтобы соответствовать требованиям такой универсальности. Если по одному из этих аспектов предъявляются жёсткие требования, то необходимо тонко настраивать как само ядро, так и поведение приложения. В этом посте рассмотрим 10 основных пунктов, которые необходимо учитывать при разработке системы Linux, к которой предъявляются строгие требования по работе в режиме реального времени. По каждому пункту также упомяну, в каком аспекте легко засыпаться разработчику-новичку, только приступающему к программированию систем реального времени под Linux.

https://habr.com/ru/companies/timeweb/articles/932404/

👉 @i_odmin

Читать полностью…

Системный администратор

WatchYourLAN

Легкий сетевой IP-сканер. Может использоваться для оповещения о новых хостах и отслеживания истории хостов в режиме онлайн/оффлайн

Особенности:
- Отправка уведомлений при обнаружении нового устройства
- Мониторинг истории онлайн/оффлайн устройств
- Ведение списка всех устройств в сети
- Отправка данных в InfluxDB2 для создания панели мониторинга в Grafana

https://github.com/aceberg/WatchYourLAN

👉 @i_odmin

Читать полностью…

Системный администратор

❓ Потеря данных — это кошмар для любой компании. Хотите защитить свои MySQL-базы?

👉 На открытом уроке 7 августа в 19:00 МСК мы разберём все подходы к резервному копированию: от дампов до репликации. Вы научитесь работать с инструментами вроде mysqldump, xtrabackup, а также научитесь автоматизировать создание резервных копий и их хранение.

💪 После вебинара вы сможете восстановить данные из дампов или инкрементальных копий и избежать ошибок при бэкапе. Этот опыт необходим каждому системному администратору и DevOps-инженеру!

🎁 Посетите урок и получите скидку на большое обучение «Administrator Linux. Professional»: https://vk.cc/cOfaPM

👉 Для участия в вебинаре зарегистрируйтесь

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Системный администратор

🔍 10 полезных регулярных выражений для админов

Регулярки — мощный инструмент для поиска и обработки текста в Linux.


# 1. Найти все IP-адреса в файле
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' file.log

# 2. Найти строки с email-адресами
grep -E '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' file.txt

# 3. Удалить пустые строки
sed -i '/^$/d' file.txt

# 4. Найти строки, начинающиеся с #
grep -E '^#' file.conf

# 5. Найти строки, не содержащие слово ERROR
grep -Ev 'ERROR' file.log

# 6. Заменить все цифры на символ *
sed -E 's/[0-9]/*/g' file.txt

# 7. Удалить комментарии и пустые строки
grep -Ev '^\s*#|^\s*$' file.conf

# 8. Найти все URL
grep -Eo 'https?://[^ ]+' file.txt

# 9. Найти строки длиной больше 100 символов
grep -E '.{100,}' file.txt

# 10. Извлечь доменные имена из email
grep -Eo '@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' file.txt


💡Тестируйте регулярки в реальном времени с grep -E или онлайн-сервисами типа regex101.com.

👉@bash_srv

Читать полностью…

Системный администратор

Главные по контейнеризации в России приглашают на второй митап Deckhouse User Community.
21 августа | Москва


Приходите, если работаете с Kubernetes или планируете начать. Разберём три практических кейса:
как DKP управляет узлами кластера — от создания до вывода из кластера;
как построить платформу обучения на Community Edition быстрее ванильного Kubernetes;
как автоматизировать контроль архитектуры с помощью фитнес-функций.

Будет полезно инженерам эксплуатации, платформенным разработчикам и всем, кто хочет прокачать навыки работы с современными подходами в DevOps.

Только офлайн. Пицца и нетворкинг в программе. Регистрируйтесь!

Читать полностью…

Системный администратор

🎆Firew0rks

Воспроизводит текстовые анимации прямо в терминале!

Этот пакет включает несколько готовых анимаций, например фейерверк и уютный камин.

https://github.com/addyosmani/firew0rks

👉 @i_odmin

Читать полностью…

Системный администратор

Чтобы разобраться с правами доступа к файлам в Linux, нам нужно понять, что такое Ownership и Permission.

Ownership

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

🔹Owner: Владелец - это пользователь, создавший файл или каталог.
🔹Group (группа): В группе может быть несколько пользователей. Все пользователи в группе имеют одинаковые разрешения на доступ к файлу или каталогу.
🔹Other: Другие - это пользователи, которые не являются владельцами или членами группы.

Permission

Существует только три типа разрешений для файла или каталога:

🔹Read (r): Разрешение на чтение позволяет пользователю читать файл.
🔹Write (w): Разрешение на запись позволяет пользователю изменять содержимое файла.
🔹Execute (x): Разрешение execute позволяет выполнять файл.

👉 @i_odmin

Читать полностью…

Системный администратор

🚂Linux тормозит? Сервер пыхтит, как паровоз? Пора разобраться с мониторингом!

Приходи на бесплатный вебинар по мониторингу в Linux — научим находить узкие места быстрее, чем sudo rm -rf / сломает систему!

Что разберём:
— top, htop, iotop — как читать эти графики и не паниковать
— Где искать проблемы: CPU, RAM, диски или сеть?
— Настраиваем Prometheus + Grafana — чтобы мониторинг был красивым, как мем с пингвином

После вебинара ты:
— Сможешь диагностировать лаги на сервере без шаманства
— Научишься визуализировать метрики, как настоящий DevOps-ниндзя
— Поймёшь, почему «у меня же всё работает» — не аргумент

Регистрируйся → напомним перед стартом: https://vk.cc/cOvn8s

P.S. Если хочешь прокачаться в оптимизации веб-приложений от фронтенда до бэкенда, приходи на курс «Оптимизация производительности веб-приложений».

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Системный администратор

☎️Пишут, что пользователи из России столкнулись с проблемами при использовании голосовых звонков в мессенджерах Telegram и Whatsapp*

Возможно скоро на территории РФ будет заблокирована возможность совершать звонки через данные мессенджеры.

Пока не ясно, чья это идея. Толи операторы связи решили вернуться к поминутной тарификации, то ли Роскомнадзор чудит, под видом борьбы с мошенниками.

*принадлежит компании Meta, которая признана экстремистской и запрещена в РФ.

👉 @i_odmin

Читать полностью…

Системный администратор

Межсетевой экран nftables

nftables — межсетевой экран, проект netfilter, разработанный для замены существующего фреймворка {ip,ip6,arp,eb}tables. Предоставляет новую систему фильтрации пакетов, пользовательскую утилиту ntf которую буду рассматривать в этоих роликах.

Часть 1. Тип filter цепочка INPUT и большинства распространенных правил
Часть 2. Тип filter цепочка FORWARD
Часть 3. Тип nat цепочка POSTROUTING и PREROUTING

источник

👉 @i_odmin

Читать полностью…

Системный администратор

Деление IP сети на подсети при помощи маски легко и быстро. Наглядный способ!

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

источник

👉 @i_odmin

Читать полностью…

Системный администратор

📕 Подключение 1C:EDT к процессам непрерывной интеграции и создание первого пайплайна для разработчиков 1С, тимлидов, руководителей проектов и менеджеров 1C.

На открытом уроке 11 августа в 19:00 мск мы погрузимся в тонкости интеграции EDT в CI/CD на примере пайплайна.

📗 На вебинаре разберём:
1. Устройство командной разработки в EDT + Git: ветвление, слияния и совместная работа.
2. Типичные шаги пайплайна: checkout, сборка, тестирование и уведомления о статусе.

📘 В результате получите представление о CI/CD-пайплайне для 1C:EDT + Git и сможете создать свой первый Jenkins-конвейер..

👉 Регистрация и подробности о курсе Профессиональная разработка в 1С:EDT + Git: https://vk.cc/cOqw6H

Все участники открытого урока получат скидку на курс "Профессиональная разработка в 1С:EDT + Git"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Системный администратор

Большинство облачных провайдеров уже давно прячут control plane в управляемом k8s от клиентов. И на то есть причина.

Разработчики
MWS Cloud Platform ⬜️ изучили популярные реализации hosted control plane и написали статью на Хабр, где рассказали:

➡️почему оставлять control plane-ноды в managed kubernetes — это моветон;
➡️про требования публичного cloud-провайдера к решению hosted control plane;
➡️плюсы и минусы популярных open source-реализаци hosted-CP.

⏩️ Читать статью

Читать полностью…

Системный администратор

LPIC-1 (exam 101) Часть 2.
Автор Кирилл Семаев

Часть 1 /channel/i_odmin/9499

LPIC 102.4 Управление пакетами в Debian-подобных операционных системах
LPIC 102.5 Управление пакетами в RedHat-подобных операционных системах
LPIC 103.1 Работа в командной строке Linux
LPIC 103.2 Работа c текстовым выводом в Linux
LPIC 103.3 Основные операции с файлами и директориями
LPIC 103.4 Использование потоков, конвейров и перенаправлений
LPIC 103.5 Работа с процессами в Linux
LPIC 103.6 Приоритеты процессов в Linux
LPIC 103.7 Регулярные выражения в Linux
LPIC 103.8 Текстовый редактор Vi

Смотреть на Rutube 📺

👉 @i_odmin

Читать полностью…

Системный администратор

❓ ⚙️ Как ускорить процессы развертывания приложений и упростить управление инфраструктурой?

👉 На открытом уроке 12 августа в 19:00 МСК мы разберём, что такое Docker и как использовать его для эффективной контейнеризации. Вы узнаете, как работать с Docker CLI, управлять контейнерами, а также как применять Docker Hub для хранения и обмена образами.

После урока вы будете уверенно устанавливать Docker, запускать контейнеры и собирать свои первые Dockerfile. Это знание — важный шаг для системных администраторов и DevOps-специалистов, желающих упростить развертывание приложений.

🎁 Посетите вебинар и получите скидку на курс «Administrator Linux. Basic»: https://vk.cc/cOkXZa

👉 Для участия в вебинаре зарегистрируйтесь

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Системный администратор

Напоминаю, так сказать 😁 вдруг забыли.

👉 @i_odmin

Читать полностью…

Системный администратор

6 техник, которые я использую для создания отличного пользовательского опыта в shell‑скриптах


➡️1. Всесторонняя обработка ошибок и проверка вводимых данных

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


if [ -z "$1" ]; then
echo "Usage: evaluate.sh <fork name> (<fork name 2> …)"
echo "for each fork, there must be a 'calculate_average_<fork name>.sh' script and an optional 'prepare_<fork name>.sh'."
exit 1
fi


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

➡️2. Чёткий и цветной вывод

Чтобы сделать вывод скрипта более читаемым и удобным для пользователя, я использовал ANSI‑коды цветов для выделения важной информации, предупреждений и ошибок. Например:


BOLD_RED='\033[1;31m'
RESET='\033[0m'
echo -e "${BOLD_RED}ERROR${RESET}: ./calculate_average_$fork.sh does not exist." >&2


Цвета помогают быстро распознавать тип сообщений.

➡️3. Детальное логирование прогресса

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


function print_and_execute() {
echo "+ $@" >&2
"$@"
}


Это похоже на set -x, но с более точным контролем, и помогает пользователю понять, что выполняется на каждом шаге.

➡️4. Стратегическое использование set -e и set +e

Я хотел убедиться, что скрипт будет немедленно завершаться при возникновении ошибки в самом скрипте, но при этом продолжит работу, если проблемы возникнут у отдельных fork’ов. Для этого я стратегически использовал опции Bash set -e и set +e по всему скрипту. Вот как я реализовал этот приём:

➡️5. Адаптация под платформу (Linux / macOS)

Скрипт определяет ОС и подбирает подходящую команду timeout:


if [ "$(uname -s)" == "Linux" ]; then
TIMEOUT="timeout -v $RUN_TIME_LIMIT"
else
if [ -x "$(command -v gtimeout)" ]; then
TIMEOUT="gtimeout -v $RUN_TIME_LIMIT"
else
echo -e "${BOLD_YELLOW}WARNING${RESET} gtimeout not available…"
fi
fi


Так обеспечивается одинаковое поведение на разных платформах.

➡️6. Вывод файлов с отметкой времени для многократных запусков

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


filetimestamp=$(date +"%Y%m%d%H%M%S")
… --export-json $fork‑$filetimestamp‑timing.json …


После завершения benchmark’а вывод сохраняется и объединяется в файлы с уникальным суффиксом.

👉 @i_odmin

Читать полностью…

Системный администратор

🖥 Базовый курс Ubuntu

1. Основные зарезервированные папки в ubuntu linux
2. Команды ubuntu linux о системе, озу, цпу, жёсткий диск
3. Создание, удаление, изменение файлов и папок в ubuntu linux
4. Менеджер зависимостей в ubuntu linux
5. Процессы, мониторинг и остановка процессов в ubuntu
6. Systemctl start, stop, reload, status, enable в ubuntu linux
7. Пользователи. Создание, удаление пользователей в ubuntu linux
8. Sudoers, visudo, root пользователь и привилегии в ubuntu linux
9. Права и доступы в ubuntu linux
10. Общие рекомендации к ubuntu linux

источник

👉 @i_odmin

Читать полностью…

Системный администратор

LPIC-1 (exam 101) Часть 1.
Автор Кирилл Семаев

Вводное видео для LPIC-1 (exam 101), или подготовка к курсу по администрированию Linux
LPIC 101.1 Работа с железом в Linux. Часть первая - sysfs, devfs, udev
LPIC 101.1 Работа с железом в Linux. Часть вторая - управление устройствами
LPIC 101.2 Процесс загрузки Linux
LPIC 101.3-1 Инициализация системы в стиле SysV
LPIC 101.3-2 Инициализация системы в стиле systemd
LPIC 101.3-3 Инициализация системы в стиле upstart
LPIC 102.1 Работа с жесткими дисками в Linux
LPIC 102.2 Загрузчики Linux
LPIC 102.3 Управление библиотеками в Linux

Смотреть на Rutube 📺

👉 @i_odmin

Читать полностью…

Системный администратор

👋 Привет, админы!

Раз уж тема зашла, делюсь готовым скриптом для массового обновления паролей сервисных учёток. Иногда после смены пароля учётки приходится руками лазить по десяткам серверов и обновлять службы — это ад. Решается всё PowerShell’ем.

Вот скрипт:


# Задаем данные
# автор: /channel/win_sysadmin
$ServiceAccount = "DOMAIN\ServiceUser"
$NewPassword = "NewSecurePassword123!"
$Servers = @("Server1","Server2","Server3") # список серверов

foreach ($Server in $Servers) {
Write-Host "Обновляю службы на $Server..." -ForegroundColor Cyan
$services = Get-WmiObject Win32_Service -ComputerName $Server | Where-Object { $_.StartName -eq $ServiceAccount }
foreach ($svc in $services) {
Write-Host " -> Обновляем $($svc.Name) ($($svc.DisplayName))" -ForegroundColor Yellow
$result = sc.exe \\$Server config $($svc.Name) obj= $ServiceAccount password= $NewPassword
if ($result -like "*[SC] ChangeServiceConfig SUCCESS*") {
Restart-Service -Name $svc.Name -ComputerName $Server -Force
Write-Host " Перезапущено." -ForegroundColor Green
} else {
Write-Host " Ошибка при обновлении!" -ForegroundColor Red
}
}
}


Работа скрипта:

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

Можно легко адаптировать под CSV, чтобы брать серверы и учётки из файла.

👉 @win_sysadmin

Читать полностью…

Системный администратор

📕 Секреты производительной работы в EDT для разработчиков 1С, тимлидов, руководителей проектов и менеджеров 1C.

На открытом уроке 5 августа в 19:00 мск мы погрузимся в в секреты взаимодействия EDT и платформы 1С.

📗 На вебинаре разберём:
1. Как правильно настроить EDT для 1C платформы на вашем рабочем месте для дальнейшей комфортной разработки;
2. На какие “грабли” можно встать при начале работы в EDT и как этого избежать;

📘 В результате научитесь корректно подготавливать среду к работе научитесь корректно подготавливать среду к работе и у вас появится понимание, как добиться максимальной производительности при разработке в EDT.

👉 Регистрация и подробности о курсе Профессиональная разработка в 1С:EDT + Git: https://vk.cc/cOdmyx

Все участники открытого урока получат скидку на курс "Профессиональная разработка в 1С:EDT + Git"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Системный администратор

🧪Химическое уничтожение HDD (Rus озвучка)

Смесь концентрированных азотной и соляной кислот, взятых в соотношении 1:3, более известная под названием «царская водка», способна без труда растворить жесткий диск даже целиком, не оставив и следа ни от сохраненных данных, ни от самого накопителя. Впрочем, HNO3 неплохо справляется с покрытием блинов даже соло.

Смотреть на Rutube 📺

👉 @i_odmin

Читать полностью…
Subscribe to a channel