Для кого:
Для системных администраторов, программистов и квалифицированных пользователей Linux
Описание:
Рассмотрены задачи, которые выполняются из командной строки операционной системы Linux. Объясняется, как попасть в командную строку, работать в консоли,настраивать систему с помощью программ, обладающих только текстовым интерфейсом. Описаны особенности файловой системы Linux, наиболее полезные команды для работы с текстом, сетью и Интернетом, а также команды системного администратора. Особое внимание уделено написанию сценариев автоматизации рутинных задач на языках командных оболочек bash и tcsh. Рассмотрены способы перенаправления
ввода-вывода, маски и псевдонимы, различные варианты запуска программ,эффективные приемы использования клавиатуры, примеры сложных команд и другие вопросы.
#Linux #Bash #Rus
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12⚡2
Как запустить процесс от имени другого пользователя в Linux
Пробуем запуск исполняемого файла «/usr/bin/ntlm_auth» с параметрами от имени пользователя «proxy» (на примере Ubuntu Linux):
#Linux #bash
Пробуем запуск исполняемого файла «/usr/bin/ntlm_auth» с параметрами от имени пользователя «proxy» (на примере Ubuntu Linux):
sudo su -s "/bin/sh" -c "/usr/bin/ntlm_auth --debuglevel=9 --diagnostics --helper-protocol=squid-2.5-ntlmssp" proxy
#Linux #bash
👍13
После прохождения курса вы сможете:
- Разворачивать виртуальные машины
- Работать с GitHub
- Понимать структуру и устройство Linux
- Управлять пакетами
- Работать с Bash
- Управлять планировщиком cron
- Искать файлы и директории
- Работать с сетями Linux
- Разбираться в файловых системах
- Создавать службы
#Linux #Bash #Обучение #Видео #Rus
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Эта книга на практических примерах покажет, как расшифровывать старые сценарии и писать новый код, максимально понятный и легко читаемый.
Авторы покажут, как использовать мощь и гибкость командной оболочки. Даже если вы умеете писать сценарии на bash, эта книга поможет расширить ваши знания и навыки. Независимо от используемой ОС — Linux, Unix, Windows или Mac — к концу книги вы научитесь понимать и писать сценарии на экспертном уровне.
Чему вы научитесь:
Книга "Идиомы bash" позволит вам углубить свои знания в работе с bash-скриптами, научиться использовать переменные и условия, работать с файлами и директориями, а также создавать функции для часто используемого кода.
#Linux #Книга #bash #Rus
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥10👍6
1000+ Bash скриптов для DevOps
👀 Подробнее
#Linux #Bash #DevOps
Большая подборка bash скриптов, связанных с настройкой и управлением AWS, GCP, Kubernetes, Docker, PostgreSQL, MySQL, Hive, Impala, Kafka, Hadoop, Jenkins, GitHub, GitLab, BitBucket, Azure TeamCity, Spotify, LDAP, Python и это далеко не полный список
Здесь и скрипты для конфигурирования .bashrc, .vimrc, .gitconfig, .screenrc, tmux
#Linux #Bash #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19⚡4❤3🍾2❤🔥1👀1
Эта статья предназначена для довольно искушённых пользователей Linux. Я покажу, как устанавливать Debian или его аналоги стандартным установщиком в Secure boot. Эту установку я проверил на AWS ARM64 и в Selectel Cloud. Также конечные скрипты работают на служебном Lenovo ThinkPad T14 и личном L380 Yoga.
Чего в итоге мы добьёмся:
Включённый Secure boot с личными ключами для него. Так мы получим возможность загружать только EFI-файлы, подписанные нашим ключом. Это исключит возможность запуска сторонних EFI-файлов, подписанных другими ключами, например, Microsoft или производителем железа.
Файл ядра и initramfs, которые подписаны нашим ключом. Это возможно благодаря использованию UKI. Так мы получаем EFI-файл, содержимое которого подписано. Это позволяет нам исключить из последовательности загрузки grub или systemd-boot. Исключение загрузчиков нужно для уменьшения возможного вектора взлома ноутбука.
Зашифрованные разделы, кроме EFI boot. Так мы получим возможность исключить утечку данных в случае кражи ноутбука, а также усложним жизнь потенциальному взломщику тем, что в его распоряжении будут только подписанные EFI-файлы.
Итоги
После завершения установки мы получим установленный Debian на зашифрованном диске с ограниченным списком того, что может быть загружено с ноутбука. В такой системе мы доверяем UEFI — что она не позволит загрузить неподписанные EFI-файлы.
#Linux #Debian #Bash #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤🔥3
В рамках данной статьи мы рассмотрим следующие пункты:
- разработка скрипта для поиска поддоменов;
- разработка скрипта для преобразования найденных поддоменов в IP-адреса;
- разработка скрипта для сканирования внешней сети при помощи утилиты Nmap и сбора информации о доступных портах;
- разработка телеграмм-бота для автоматизации.
ЗаключениеБлагодаря данной автоматизации сканирования можно систематизировать проверку сетевой инфраструктуры компании, используя хакерские утилиты. Когда данная процедура выполняется регулярно, можно оперативно отслеживать бреши в безопасности, например после конфигурации оборудования, или при развертывании новой инфраструктуры.
#Python #bash #Linux #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤3
hadolint — линтер dockerfile для файлов Dockerfile
🖥 Ознакомиться
#Docker #Bash #hadolint #DevOps
— docker run --rm -i hadolint/hadolint < Dockerfile
hadolint — умный линтер Dockerfile, который поможет в создании образов Docker. Использует ShellCheck для проверки Bash-кода внутри инструкций RUN
P.S. Docker Linting способствует тому, что ваши файлы конфигурации Docker соответствуют лучшим практикам, стандартам и не содержат распространенных ошибок. Он поддерживает согласованность образов Docker и помогает более плавному процессу разработки и развертывания.
#Docker #Bash #hadolint #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🤣1
Контроль оплаты домена через Zabbix (domain registration expires)
👉 Описание настройки
#Monitoring #Zabbix #Bash
Позвонил клиент, говорит почта не работает. Стал смотреть – домен отключен за не оплату, бухгалтерия забыла оплатить счет. Подумалось, что неплохо бы видеть какие домены в ближайшее время тоже потребуют продления. Будем для этого использовать Zabbix.
На сервере с Zabbix’ом установим Zabbix-агент. Он и будет у нас заниматься проверкой наших доменов.
#Monitoring #Zabbix #Bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🆒4💯3❤2
#Linux #Bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤6
Парсинг лога в sql (с использованием awk)
〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️
🤔 P.S. А вы часто используете awk?
Да👍 / Нет 👾
#Linux #Asterisk #logs #bash #awk #скрипт
#!/bin/sh
log="/var/log/asterisk/queue_log"
host="localhost"
user="user"
passwd="passwd"
db="database"
begin="INSERT INTO \
queuelog\
(\timestamp\,\callid\,\qname\,\agent\,\action\,\info1\,\info2\,\info3\) VALUES "
end="('%s','%s','%s','%s','%s','%s','%s','%s')"
sql="/usr/local/bin/mysql --host=${host} --user=${user} --password=${passwd} --database=${db}"
awk -v begin="${begin}" -v end=${end} -F '|' 'BEGIN {print begin} {if (s!="") {print s","; s="";};\
s=sprintf(end, $1,$2,$3,$4,$5,$6,$7,$8)} END {if (s!="") print s";"}' ${log} | ${sql}
AWK – это скриптовый язык, который полезен при работе в командной строке и широко применяется для обработки текста.
Да
#Linux #Asterisk #logs #bash #awk #скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👾24👍12❤1🗿1
Сборник Bash скриптов
Скрипт оповещения по email об остатке дискового пространства менее 10%
Сканирование сети на наличие хостов
Удалить временные файлы из домашнего каталога
#Linux #Bash
Скрипт оповещения по email об остатке дискового пространства менее 10%
#!/bin/bash
used=`df -hl / | awk {'print $4'} | grep "%"`
used=${used/\%/}
if [ $used -gt 90 ];
then
echo "Attention! Available space less than 10%. Used space = $used"% | mail -s "DISK ALERT" <a href="mailto:[email protected]">[email protected]</a>
fi
Сканирование сети на наличие хостов
#scannet.sh
#Сканируем сеть на наличие хостов
#!/bin/sh
NET=${1}
if [ -z ${NET} ]; then
echo 'Usage:'
echo ' scan.sh first_3_octets'
echo ''
echo 'Example:'
echo ' scan.sh 192.168.0'
echo ''
else
echo "Finding hosts in net ${NET}.0/24"
echo ''
echo 'Found hosts:'
for host in `seq 1 254`; do
if (ping -c 3 ${NET}.${host} > /dev/null 2> /dev/null) then
echo ${NET}.${host}
fi
done
fi
Удалить временные файлы из домашнего каталога
#deltmp.sh
#Удаляет временные файлы из домашнего каталога
#!/bin/bash
echo "******************* start **********"
find -name .*~. -exec rm -i {} \;
echo "****************** finish **********"
#Linux #Bash
👍21❤5🔥3
set -euxo pipefail
Что всё это значит:
set -e
- прекращает выполнение скрипта если команда завершилась ошибкой, выводит в stderr
строку с ошибкой. Обойти эту проверку можно добавив в пайплайн к команде true: mycommand | true
.set -u
- прекращает выполнение скрипта, если встретилась несуществующая переменная.set -x
- выводит выполняемые команды в stdout
перед выполненинем.set -o pipefail
- прекращает выполнение скрипта, даже если одна из частей пайпа завершилась ошибкой. В этом случае bash-скрипт завершит выполнение, если mycommand
вернёт ошибку, не смотря на true
в конце пайплайна: mycommand | true
.#Linux #Bash
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤13👍11🔥5🙏1
#!/bin/bash
# Локальная директория для синхронизации
LOCAL_DIR="/path/to/local/dir"
# Удалённый сервер и директория
REMOTE_USER="user"
REMOTE_SERVER="server.com"
REMOTE_DIR="/path/to/remote/dir"
# Синхронизация с удалённым сервером
rsync -avz $LOCAL_DIR $REMOTE_USER@$REMOTE_SERVER:$REMOTE_DIR
# Вывод сообщения о завершении
echo "Синхронизация завершена!"
Скрипт синхронизирует файлы из локальной директории на удалённый сервер с помощью
rsync
.Особого внимания заслуживает использование команды rsync с опциями -avz для архивации, вывода подробной информации и сжатия данных при передаче. Этот скрипт удобен для автоматического резервного копирования или синхронизации данных между локальной машиной и сервером. Для работы скрипта потребуется установленный SSH и настроенный доступ к серверу.
#Linux #Bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19 4🆒3❤2😁2
systemd
с мощными возможностями автоматического восстановления.Допустим, у вас есть скрипт
/usr/local/bin/my_script.sh
, который должен работать постоянно, но может зависнуть. Вместо ручного контроля создадим systemd-юнит.sudo nano /etc/systemd/system/my_script.service
[Unit]
Description=Мой скрипт с автоматическим рестартом
After=network.target
[Service]
ExecStart=/usr/local/bin/my_script.sh
Restart=always
RestartSec=5
RuntimeMaxSec=600
KillMode=process
[Install]
WantedBy=multi-user.target
‣
Restart=always
— перезапуск при любой ошибке‣
RestartSec=5
— подождать 5 секунд перед рестартом‣
RuntimeMaxSec=600
— убьёт процесс, если он работает больше 10 минут (предотвращает зависания)‣
KillMode=process
— убивает только главный процесс, не трогая детейsudo systemctl daemon-reload
sudo systemctl enable my_script
sudo systemctl start my_script
#Linux #bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4🔥4⚡1
Материалы по курсу "Архитектура вычислительных систем".
v.12102024
🎥 Лекции:
1️⃣ Вводная лекция. Слой Аппаратного обеспечения. 📺 📊 Презентация.
2️⃣ Слой Servers. Аппаратура. Часть 1. 📺 Видеозапись 📊 Презентация.
3️⃣ Слой Servers. Аппаратура. Часть 2. 📺 Видеозапись 📊Презентация.
4️⃣ Слой Storage. Часть 1. 📺 Видеозапись 📊Презентация.
5️⃣ Слой Storage. Часть 2. 📺 Видеозапись 2 шт 📊Презентация.
6️⃣ Слой Network. Часть 1. 📺 Видеозапись 📊 Презентация.
7️⃣ Слой Network. Часть 2. 📺 📊 Презентация.
🎱 Необходимые сведения о информационной безопасности 📺 Видеозапись 📊 Презентация.
9️⃣ Слой ОС. Часть 1. 📺 Видеозапись 📊 Презентация.
🔟 Слой Virtualization. 📊 Презентация.
🛠 Задания к практикам:
1️⃣ Практика 1. Основы работы с Virtual Box и Linux
2️⃣ Практика 2. Работа с аппаратурой в Linux
3️⃣ Практика 3. Основы BASH (кино про лабу)
4️⃣ Практика 4. Слой хранения.
5️⃣ Практика 5. Слой сети и безопасность (кино про лабу)
6️⃣ Практика 6. Docker (c) @itregernium
🎖 Вопросы к зачету
📺 Полезные видео по VirtualBox в VK (Основы работы, Настройка сети, Борьба с текстовым дисплеем)
📔 Книга "Complete A+ Guide to IT Hardware and Software A CompTIA A+ Core 1 (220-1001) & CompTIA A+ Core 2 (220-1002) ". Странное чтиво, для начинающих. Это для тех ребят, которые столкнулись с недостаточным владением айтишной терминологией. Это официальное руководство к сертификации. Можно почерпнуть интересные моменты.
💾 Файлы:
1️⃣ Шаблон отчета
2️⃣ OVA файл виртуальной машины Linux Debian 12 64 (пароль рута jango123# 🙊 есть пользователь myuser с тем же паролем)
#Linux #Docker #Bash
v.12102024
ITSM. Управление IT инфраструктурой и IT сервисов Автор Артём Береснев
🎥 Лекции:
1️⃣ Вводная лекция. Слой Аппаратного обеспечения. 📺 📊 Презентация.
2️⃣ Слой Servers. Аппаратура. Часть 1. 📺 Видеозапись 📊 Презентация.
3️⃣ Слой Servers. Аппаратура. Часть 2. 📺 Видеозапись 📊Презентация.
4️⃣ Слой Storage. Часть 1. 📺 Видеозапись 📊Презентация.
5️⃣ Слой Storage. Часть 2. 📺 Видеозапись 2 шт 📊Презентация.
6️⃣ Слой Network. Часть 1. 📺 Видеозапись 📊 Презентация.
7️⃣ Слой Network. Часть 2. 📺 📊 Презентация.
🎱 Необходимые сведения о информационной безопасности 📺 Видеозапись 📊 Презентация.
9️⃣ Слой ОС. Часть 1. 📺 Видеозапись 📊 Презентация.
🔟 Слой Virtualization. 📊 Презентация.
🛠 Задания к практикам:
1️⃣ Практика 1. Основы работы с Virtual Box и Linux
2️⃣ Практика 2. Работа с аппаратурой в Linux
3️⃣ Практика 3. Основы BASH (кино про лабу)
4️⃣ Практика 4. Слой хранения.
5️⃣ Практика 5. Слой сети и безопасность (кино про лабу)
6️⃣ Практика 6. Docker (c) @itregernium
🎖 Вопросы к зачету
📺 Полезные видео по VirtualBox в VK (Основы работы, Настройка сети, Борьба с текстовым дисплеем)
📔 Книга "Complete A+ Guide to IT Hardware and Software A CompTIA A+ Core 1 (220-1001) & CompTIA A+ Core 2 (220-1002) ". Странное чтиво, для начинающих. Это для тех ребят, которые столкнулись с недостаточным владением айтишной терминологией. Это официальное руководство к сертификации. Можно почерпнуть интересные моменты.
💾 Файлы:
1️⃣ Шаблон отчета
2️⃣ OVA файл виртуальной машины Linux Debian 12 64 (пароль рута jango123# 🙊 есть пользователь myuser с тем же паролем)
#Linux #Docker #Bash
🔥11👍4❤3
🔒 once(): один экземпляр скрипта без PID-файлов
Cron дергает backup каждые 5 минут, но предыдущий ещё копирует 200 ГБ? Оберни команду во
Bash
💡 Нужна блокировка на целый юнит? Используй
#Bash #DevOps #Cron #Flock
Cron дергает backup каждые 5 минут, но предыдущий ещё копирует 200 ГБ? Оберни команду во
flock
— и параллельные запуски отрубаются без лишней логики.#!/usr/bin/env bash
# once.sh — запускает «тяжёлую» команду, если другая копия ещё не идёт
(
flock -n 9 || { echo "⏳ Уже выполняется"; exit 1; }
# 👉 основная работа
./sync_to_s3.sh
) 9>/var/lock/sync_to_s3.lock
Bash
# Пример: в crontab каждые 5 минут
*/5 * * * * /opt/scripts/once.sh >>/var/log/once.log 2>&1
💡 Нужна блокировка на целый юнит? Используй
flock /run/lock/…
или опцию --lock-file
в systemd-run
— принцип тот же, а возможностей больше.#Bash #DevOps #Cron #Flock
👍12❤3
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит
#Linux #Bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🤝1😎1
Когда денег нет, но мы держимся. Резервное копирование на Python
➡️ Подробнее
#backup #Python #Bash #Linux
Эта заметка является продолжением и развитием проекта, описанного в статье «Резервное копирование без лишних затрат» https://habr.com/ru/articles/653941/
Тяжелой поступью по стране идет импортозамещение, хочешь или не хочешь, но с Windows платформы приходится уходить. Расскажу про один из таких шагов.
Уже очень давно у меня существовала система резервного копирования файлов, построенная на архиваторе 7-zip и обертки из js и bat файлов, которая позволила довольно простым и удобным (для меня) способом делать как полные, так и разностные архивы.
С внедрением серверов на платформе Linux, старую систему эксплуатировать, по понятным причинам, уже не получится. Возникла задача перенести существующий функционал под Linux.
Сначала я рассматривал возможность переделать все скрипты с помощью bash, но сервера на Windows пока совсем не исчезли, некоторые задачи на них «крутятся» и поддерживать две системы резервного копирования не самый хороший способ облегчить себе жизнь. Нужно создать универсальную систему, которая будет работать на обеих платформах.
После недолгих размышлений в качестве основы для разработки был взят язык Python. С его помощью можно сделать универсальную систему, которая будет одинаково функционировать на любой платформе, которая у меня используется.
#backup #Python #Bash #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8✍4👍3👎2😁1