Linux Skill - Освой Linux c нуля до DevOps
11.2K subscribers
66 photos
103 videos
502 links
Освой Linux c нуля до DevOps
Подробный гайд по Linux и море других уроков для системных администраторов

📩 По всем вопросам: @chorapov

РКН https://vk.cc/cMUwm4
Download Telegram
🔥 Забудь про 500 ошибку: Тест конфига Nginx перед запуском

echo "Привет, инженер!"

Знакомая ситуация: поправил конфиг, перезапустил службу, а сервер «лежит» из-за пропущенной точки с запятой? Чтобы избежать страданий и простоя продакшна, всегда проверяй исправность конфигурационных файлов перед перезапуском.

У многих популярных программ есть встроенные средства для такой проверки.

📌 Команда для проверки конфигурации Nginx:

nginx -t


Что происходит:
Если в файле нет синтаксических ошибок, команда просто завершится или выведет сообщение об успехе. Если ошибки есть, она сообщит о них, указав строку с проблемой,.

💡 Совет:
Используй systemctl reload вместо restart, когда это возможно. Reload (перезагрузка конфигурации) обычно безопаснее, так как процесс перезапускается только после успешной проверки конфигурации,.

Проверяй конфиг до того, как это сделают пользователи! 😉

#Nginx #Linux #SysAdmin #DevOps #CLI
👍14👀3👎1
📊 Вот как настоящие админы видят, что происходит на сервере

Сервер зависает, CPU зашкаливает, память утекает — а ты не знаешь, в чём проблема.

Проблема: top, htop, df разбросаны по разным окнам. Решение: один bash-скрипт, который покажет всё сразу.

🔹 System Monitor
https://github.com/elliotsecops/System-Monitor

Bash-скрипт для мониторинга Linux:
• Отображает CPU, память и диск в реальном времени (обновляется каждые 5 сек)
• Поддерживает несколько точек монтирования диска
• Настраивается через конфиг или аргументы командной строки
• Graceful shutdown (Ctrl+C) без зависания

Запусти на своём сервере — увидишь, что там реально происходит.

#linux #мониторинг #bash #sysadmin #devops
👍7
💾 Данные пропадут завтра — два скрипта спасут их сегодня

Диск упадёт когда угодно. У тебя есть backup?

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

🔹 rsync-backup (Python)
https://github.com/hkbakke/rsync-backup

Умный backup через rsync:
• Жёсткие ссылки — неизменённые файлы не дублируются
• Автоматическая проверка MD5
• Снимки: daily, weekly, monthly, yearly
• Email отчёты о статусе
• Централизованный backup с серверов

🔹 RSync Backup Script v1 (Bash)
https://github.com/Aman7123/RSync-Backup-Script-v1

Простой backup в cron:
• Автоматические weekly и monthly папки
• Удаление старых backup'ов
• Логирование каждого backup'а
• Настраивается через config-файл
• Идеален для daily cron

Запусти один из них сегодня — спаси свои данные.

#linux #backup #rsync #devops #sysadmin #безопасность
👍6👀1
🔤 Регулярки мозг не атрофируют

ChatGPT решает задачи → когнитивный спад. Освой regex самостоятельно!

🔹 RegexLearn (RU)
https://regexlearn.com/ru
• Теория + практика
• Русский перевод
• Шпаргалка

Изучал Asterisk? Без regex никуда. База для extensions.conf.

#linux #regex #bash #sysadmin
🍖 Мясо по Docker: 8 гайдов из наших архивов

Устал искать по всему каналу нужный гайд по контейнерам? Сейчас разложим всё по полочкам.

* Энциклопедия Docker: 10 лучших практик для production
* Секреты Pro-Docker: 4 хака, которые сделают твои образы в 5 раз меньше
* Как Создать Идеальный Dockerfile: Секреты Эффективности и Лаконичности!
* Эта команда Docker даёт хакеру права root на хосте
* Как мониторить ресурсы Docker-контейнеров с помощью cgroups
* Почему ты не можешь просто скопировать файл из Docker образа
* Docker Swarm & GitLab: Ускоряем Деплой Проектов с Шифрованием Секретов!
* MeTube: yt-dlp без TG-очередей — Docker за 1 команду

Теперь у тебя под рукой полный боекомплект для работы с контейнерами. Сохраняй, чтобы не потерять, и пересылай коллегам, которые до сих пор запускают всё от рута!

❗️❗️❗️ Нравится формат? Ставь 👍

👉 Рубрика: #SkillHunter@LinuxSkill

#Docker #DevOps #Containers #Security #SysAdmin #LinuxSkill
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
🔐 Хватит тупить: 15 команд SSH, которые обязан знать каждый админ

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

1. Подключение к удаленному хосту по имени пользователя и адресу:
ssh [user]@[host]

2. Генерация надежного SSH-ключа с длиной 4096 бит:
ssh-keygen -b 4096

3. Выполнение конкретной команды на сервере без входа в интерактивную сессию:
ssh [user]@[host] [command]

4. Копирование твоего публичного ключа на сервер для входа без пароля:
ssh-copy-id [user]@[host]

5. Подключение к серверу с использованием конкретного файла ключа:
ssh -i [keyFile] [user]@[host]

6. Проброс локального порта через SSH туннель (TCP Port Forwarding):
ssh -L [localPort]:[host]:[port] [user]@[host]

7. Создание динамического SOCKS5 прокси-сервера:
ssh -D 9999 [user]@[host]

8. Пересылка графического интерфейса X11 в текущую сессию:
ssh -X [user]@[host]

9. Быстрая передача файла на сервер (Push file):
scp [localFile] [user]@[host]:[remoteFile] $ rsync [localFile] [user]@[host]:[remoteFile]

10. Загрузка файла с сервера на локальную машину (Pull file):
scp [user]@[host]:[remoteFile] . $ rsync [user]@[host]:[remoteFile] .

11. Передача целой директории на удаленный сервер:
scp -r [localDir] [user]@[host]:[remoteDir]

12. Синхронизация файлов и папок с сохранением прав и сжатием (rsync):
rsync -avz [localDir] [user]@[host]:[remoteDir]

13. Интерактивный протокол передачи файлов:
sftp [user]@[host]

14. Монтирование удаленной директории через SSH в локальную систему:
sshfs [user]@[host]:[remoteDir] [localDir]

15. Разрыв текущего соединения и завершение сессии (все доступные варианты):
exit$ logout$ Ctrl+d


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

❗️❗️❗️ Нравится формат? Ставь 👍

👉 Рубрика: #шпаргалка@LinuxSkill

#Linux #SSH #CheatSheet #Sysadmin #DevOps #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44👎1
🧠 17 команд управления системой, ускорь работу в разы

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

1. Блокировка экрана:

$ gnome-screensaver-command -l
$ dbus-send --type=method_call --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock

Команда для немедленной блокировки текущей сессии.

2. Разблокировка экрана:
$ gnome-screensaver-command -a
$ dbus-send --type=method_call --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.SetActive boolean:false

Возвращает экран в рабочее состояние.

3. Перезагрузка системы:
$ reboot$ shutdown -r
$ systemctl reboot

Все способы отправить машину в ребут.

4. Выключение питания:
$ poweroff
$ shutdown -h now
$ reboot -p
$ systemctl poweroff
$ haltShutdown the system at a specific time

Немедленное завершение работы.

5. Выключение по расписанию:
$ shutdown -h 18:45 "Server is going down for maintenance"

Установка времени выключения с уведомлением пользователей.

6. Остановка Bluetooth:
$ service bluetooth stop
$ systemctl stop bluetooth

Выключение службы беспроводной связи.

7. Запуск Bluetooth:
$ service bluetooth start
$ systemctl start bluetooth

Включение службы обратно.

8. Отключение Wi-Fi:
$ nmcli nm wifi off

Мгновенное отключение беспроводного интерфейса.

9. Включение Wi-Fi:
$ nmcli nm wifi on

Активация сетевого интерфейса.

10. Выключение монитора:
$ xset dpms force off

Принудительно гасит экран через управление питанием.

11. Режим ожидания:
$ systemctl suspend
$ pm-suspendHibernate the system

Перевод системы в спящий режим.

12. Гибернация:
$ systemctl hibernate

Полное сохранение состояния на диск и выключение.

13. Список активных сервисов:
$ systemctl list-units --type=service
$ service --status-all

Просмотр всех запущенных служб.

14. Запуск службы:

$ systemctl start [serviceName]
$ service [serviceName] start

Запуск конкретного юнита в системе.

15. Остановка службы:
$ systemctl stop [serviceName]
$ service [serviceName] stop

Принудительное завершение работы сервиса.

16. Автозагрузка сервиса:
$ systemctl enable [serviceName]

Включение запуска службы при старте системы.

17. Просмотр логов:
$ journalctl -u [serviceName]

Чтение журналов конкретной службы через journald.


💡 Сохраняй этот список, чтобы команды всегда были под рукой!

❗️❗️❗️ Нравится формат? Ставь 👍

👉 Рубрика: #шпаргалка@LinuxSkill

#Linux #SystemControl #Sysadmin #Terminal #CheatSheet #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
🐧 Твой чек-лист по серверу: 6 гайдов по настройке сервера

Настройка нового сервера — это ритуал. Чтобы ничего не забыть и сделать всё по фэншую (best practices, а не просто "лишь бы заработало"), держи подборку наших лучших постов.

Подготовка и база
* Как узнать ВСЁ о железе и системе в Linux за 5 минут
* Лучшие практики для повышения производительности Linux-системы

Сеть и доступ
* Защита SSH-сервера: порты, ключи и iptables
* Как за 1 минуту определить, чем управляется сеть в Linux?
* Подними свой DNS-сервер и забудь про Google DNS

Безопасность и автоматизация
* Защити свои данные: Автоматическое резервное копирование на Linux

Теперь ты упакован по полной. Делись подборкой с коллегами, пусть тоже настраивают по уму!

❗️❗️❗️ Нравится формат? Ставь 👍

👉 Рубрика: #SkillHunter@LinuxSkill

#Linux #SysAdmin #ServerSetup #Nginx #Security #LVM #Bash #LinuxSkill
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13👎1🔥1
🧠 17 команд Linux, чтобы больше не спрашивать «а как добавить в sudo?»

Опять застрял на настройке прав и судорожно ищешь, как правильно закинуть юзера в группу? Не позорься перед логами, держи полную базу из 17 команд.

1. Создание новой группы:

$ groupadd [name]
$ addgroup [name]

Добавляет группу в систему.

2. Удаление группы:

$ groupdel [name]

Удаляет существующую группу.

3. Переименование группы:

$ groupmod -n [newGroupname] [oldGroupname]

Меняет имя старой группы на новое.

4. Создание пользователя:

$ useradd [name]
$ adduser [name]

Базовые команды для добавления юзера.

5. Удаление пользователя:

$ userdel [name]
$ deluser [name]

Удаление учетной записи из системы.

6. Смена логина:

$ usermod -l [newUsername] [oldUsername]

Переименовывает существующего пользователя.

7. Установка пароля:

$ passwd [name]

Задает или меняет пароль юзера.

8. Выдача sudo-прав:

$ usermod -a -G sudo [user]
$ adduser [user] sudo

Добавляет пользователя в группу sudo.

9. Информация о пользователе:

$ finger [user]

Выводит детальную информацию об аккаунте.

10. Добавление уже созданного юзера в группу:

$ usermod -aG [groupName] [userName]
$ adduser [userName] [groupName]
$ gpasswd -a [userName] [groupName]

Три способа расширить права доступа.

11. Создание пользователя сразу в группе:

$ useradd -G [group] [user]

Создает юзера и сразу привязывает к дополнительной группе.

12. Удаление пользователя из группы:

$ gpasswd -d [user] [group]
$ deluser [user] [group]

Лишает пользователя членства в группе.

13. Список всех групп:

$ getent group $ cat /etc/group

Показывает все группы в системе.

14. Список всех пользователей:

$ getent passwd $ cat /etc/passwd

Показывает всех зарегистрированных юзеров.

15. Текущий статус и смена аккаунта:

#### $ whoamiSwitch user
$ su [user]


Показывает, под кем ты залогинен, и позволяет сменить личность.

16. Активные сессии и ID:

#### $ who$ w$ usersShow user ID and groups
$ id [user]


Вывод информации о тех, кто в системе, и их идентификаторах.

17. История входов:

#### $ last> TERMINAL_GEAR

Показывает последние входы в систему.


❗️❗️❗️ Нравится формат? Ставь 👍

👉 Рубрика: #шпаргалка@LinuxSkill

#Linux #Users #Groups #CheatSheet #Sysadmin #CLI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18