🎯 Мониторинг загрузки процессора и уведомление в Telegram 🎯
Сервер начал тормозить, а вы не знаете почему? 🤔 Напишите скрипт, который мониторит загрузку CPU и при превышении порога отправляет уведомление в Telegram!
📌 Скрипт для мониторинга CPU и отправки уведомлений
🔹 Как использовать?
1️⃣ Сохраните скрипт в файл, например,
2️⃣ Дайте права на выполнение:
3️⃣ Добавьте в
Добавьте строку:
Теперь при высокой нагрузке процессора вы получите уведомление в Telegram и сможете быстро принять меры! 🚀
@sysadmin1
Сервер начал тормозить, а вы не знаете почему? 🤔 Напишите скрипт, который мониторит загрузку CPU и при превышении порога отправляет уведомление в Telegram!
📌 Скрипт для мониторинга CPU и отправки уведомлений
#!/bin/bash
# Порог загрузки CPU в процентах
THRESHOLD=80
# Токен бота и ID чата в Telegram
TELEGRAM_BOT_TOKEN="your_bot_token"
CHAT_ID="your_chat_id"
# Получаем среднюю загрузку CPU за 1 минуту
CPU_LOAD=$(awk '{print $1}' /proc/loadavg | awk '{print int($1)}')
# Проверяем, превышен ли порог
if [ "$CPU_LOAD" -ge "$THRESHOLD" ]; then
MESSAGE="⚠️ Внимание! Высокая загрузка CPU: ${CPU_LOAD}%"
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-d chat_id="$CHAT_ID" \
-d text="$MESSAGE"
fi
🔹 Как использовать?
1️⃣ Сохраните скрипт в файл, например,
cpu_monitor.sh. 2️⃣ Дайте права на выполнение:
chmod +x cpu_monitor.sh
3️⃣ Добавьте в
cron для проверки каждые 5 минут: crontab -e
Добавьте строку:
*/5 * * * * /path/to/cpu_monitor.sh
Теперь при высокой нагрузке процессора вы получите уведомление в Telegram и сможете быстро принять меры! 🚀
@sysadmin1
❤2👍1🔥1🎉1
📌 Резервное копирование и восстановление (tar, rsync, cron, BorgBackup)
🛠 1. Архивация с
📦 Создать архив:
📂 Распаковать архив:
🔎 Просмотреть содержимое архива:
📝 Архивация с исключением файлов:
🔄 2. Синхронизация с
📤 Копирование файлов с сохранением структуры и прав:
🌍 Синхронизация по SSH:
🧹 Удаление устаревших файлов в целевой папке:
📄 Исключение файлов:
⏳ 3. Автоматизация с
📅 Редактирование задач:
📌 Примеры:
- Запуск резервного копирования каждый день в 3:00
- Автоматическая синхронизация раз в час
📌 Проверка запланированных задач:
🏆 4. Бэкап с
⚡ Инициализация хранилища:
📦 Создание резервной копии:
🛠 Восстановление данных:
📜 Просмотр списка резервных копий:
🧹 Удаление старых бэкапов (например, старше 7 дней):
🔥 Вывод:
-
-
-
-
@sysadmin1
🛠 1. Архивация с
tar📦 Создать архив:
tar -cvzf backup.tar.gz /путь/к/директории
📂 Распаковать архив:
tar -xvzf backup.tar.gz -C /путь/куда/распаковать
🔎 Просмотреть содержимое архива:
tar -tvf backup.tar.gz
📝 Архивация с исключением файлов:
tar --exclude='/путь/к/исключаемой_папке' -cvzf backup.tar.gz /путь/к/директории
🔄 2. Синхронизация с
rsync📤 Копирование файлов с сохранением структуры и прав:
rsync -av /источник/ /назначение/
🌍 Синхронизация по SSH:
rsync -avz -e ssh /источник/ user@host:/назначение/
🧹 Удаление устаревших файлов в целевой папке:
rsync -av --delete /источник/ /назначение/
📄 Исключение файлов:
rsync -av --exclude='*.log' /источник/ /назначение/
⏳ 3. Автоматизация с
cron📅 Редактирование задач:
crontab -e
📌 Примеры:
- Запуск резервного копирования каждый день в 3:00
0 3 * * * tar -cvzf /backup/backup_$(date +\%F).tar.gz /важные_данные
- Автоматическая синхронизация раз в час
0 * * * * rsync -av /данные/ /backup/
📌 Проверка запланированных задач:
crontab -l
🏆 4. Бэкап с
BorgBackup⚡ Инициализация хранилища:
borg init --encryption=repokey /backup/repo
📦 Создание резервной копии:
borg create --stats /backup/repo::backup-$(date +%F) /данные
🛠 Восстановление данных:
borg extract /backup/repo::backup-2024-02-26
📜 Просмотр списка резервных копий:
borg list /backup/repo
🧹 Удаление старых бэкапов (например, старше 7 дней):
borg prune --keep-daily=7 /backup/repo
🔥 Вывод:
-
tar — простая архивация -
rsync — синхронизация данных -
cron — автоматизация -
BorgBackup — мощное решение для резервного копирования @sysadmin1
👍3💯2❤1🔥1🎉1
Ata Elahi, Alex Cushman - Computer Networks – 2023 .pdf
19.4 MB
📖 Computer Networks: Data Communications, Internet and Security
Год: 2023
Автор: Ata Elahi, Alex Cushman
Книга рассматривает фундаментальные принципы компьютерных сетей и передачи данных, начиная с основ цифровых коммуникаций и заканчивая современными интернет-технологиями. Авторы объясняют работу локальных сетей (LAN), интернет-протоколов и технологий передачи голоса по IP. Также затрагиваются беспроводные сети и технологии связи с низким энергопотреблением, включая ZigBee, 6LoWPAN и LoRa.
Отдельные главы посвящены криптографии и базовым принципам сетевой безопасности, которые необходимы для защиты инфраструктуры и передачи данных. Материал построен как системное введение в сетевые технологии и помогает понять, как устроена современная интернет-архитектура. Книга подойдёт системным администраторам, сетевым инженерам и специалистам, которые хотят глубже разобраться в работе сетей и сетевой безопасности.
#network
@sysadmin1
Год: 2023
Автор: Ata Elahi, Alex Cushman
Книга рассматривает фундаментальные принципы компьютерных сетей и передачи данных, начиная с основ цифровых коммуникаций и заканчивая современными интернет-технологиями. Авторы объясняют работу локальных сетей (LAN), интернет-протоколов и технологий передачи голоса по IP. Также затрагиваются беспроводные сети и технологии связи с низким энергопотреблением, включая ZigBee, 6LoWPAN и LoRa.
Отдельные главы посвящены криптографии и базовым принципам сетевой безопасности, которые необходимы для защиты инфраструктуры и передачи данных. Материал построен как системное введение в сетевые технологии и помогает понять, как устроена современная интернет-архитектура. Книга подойдёт системным администраторам, сетевым инженерам и специалистам, которые хотят глубже разобраться в работе сетей и сетевой безопасности.
#network
@sysadmin1
👍5🏆2⚡1🔥1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
HTTP (HyperText Transfer Protocol)
Данные передаются в открытом виде, и любой в сети может их перехватить или прочитать – протокол небезопасен.
Пример: http://example.com
Шифрование отсутствует, поэтому соединение уязвимо для атак.
HTTPS (HTTP Secure)
Данные передаются в зашифрованном виде, и злоумышленники не могут их прочитать или изменить – соединение считается безопасным.
Пример: https://example.com
Данные защищены.
@Sysadmin1
Данные передаются в открытом виде, и любой в сети может их перехватить или прочитать – протокол небезопасен.
Пример: http://example.com
Шифрование отсутствует, поэтому соединение уязвимо для атак.
HTTPS (HTTP Secure)
Данные передаются в зашифрованном виде, и злоумышленники не могут их прочитать или изменить – соединение считается безопасным.
Пример: https://example.com
Данные защищены.
@Sysadmin1
🔥6👍2✍1⚡1🎉1
📌 Журналы системы и мониторинг
🖥️ Основные инструменты логирования и мониторинга в Linux
📜 journalctl – просмотр логов systemd
🔹
🔹
🔹
🔹
💡 Фильтрация:
🔹
🔹
🔄 logrotate – ротация логов
Файл конфигурации:
Пример настройки ротации:
🔹
🔹
📡 syslog (rsyslog, syslog-ng) – логирование в файлы и удаленно
🔹 Конфиг:
🔹
🔹
🔹
💡 Пример отправки логов на удалённый сервер (rsyslog):
Добавить в
🔹 Перезапуск:
⚙️ dmesg – логи ядра
🔹
🔹
🛠 Полезные команды:
🔹
🔹
📊 Мониторинг логов
🔹
🔹
🔹
💡 Автоматизация: используйте fail2ban, logwatch и Grafana+Loki для анализа логов 🔥
⚡ Сохрани, чтобы не потерять! 🚀
@sysadmin1
🖥️ Основные инструменты логирования и мониторинга в Linux
📜 journalctl – просмотр логов systemd
🔹
journalctl -f — следить за логами в реальном времени 🔹
journalctl -u nginx — логи конкретного сервиса 🔹
journalctl --since "1 hour ago" — логи за последний час 🔹
journalctl -b -1 — логи предыдущей загрузки 💡 Фильтрация:
🔹
journalctl -p err — только ошибки 🔹
journalctl -k — только сообщения ядра 🔄 logrotate – ротация логов
Файл конфигурации:
/etc/logrotate.conf Пример настройки ротации:
/var/log/nginx/*.log {
weekly
rotate 4
compress
missingok
notifempty
}🔹
logrotate -d /etc/logrotate.conf — тест без изменений 🔹
logrotate -f /etc/logrotate.conf — принудительная ротация 📡 syslog (rsyslog, syslog-ng) – логирование в файлы и удаленно
🔹 Конфиг:
/etc/rsyslog.conf 🔹
/var/log/syslog — общий системный лог 🔹
/var/log/auth.log — авторизации 🔹
/var/log/kern.log — логи ядра 💡 Пример отправки логов на удалённый сервер (rsyslog):
Добавить в
/etc/rsyslog.conf:
*.* @192.168.1.100:514
🔹 Перезапуск:
systemctl restart rsyslog ⚙️ dmesg – логи ядра
🔹
dmesg | grep -i error — ошибки ядра 🔹
dmesg -T — отображение времени в читаемом формате 🛠 Полезные команды:
🔹
dmesg -H — цветная и структурированная выдача 🔹
dmesg --level=err,warn — фильтр по уровню 📊 Мониторинг логов
🔹
tail -f /var/log/syslog — следить за логами 🔹
grep -i "error" /var/log/syslog — поиск ошибок 🔹
awk '{print $5}' /var/log/syslog | sort | uniq -c | sort -nr — топ источников логов 💡 Автоматизация: используйте fail2ban, logwatch и Grafana+Loki для анализа логов 🔥
⚡ Сохрани, чтобы не потерять! 🚀
@sysadmin1
👍5🔥2🎉2🏆2❤1
🔐 ТРЕБУЕТСЯ СПЕЦИАЛИСТ ПО CYBERSECURITY
IT-компания приглашает опытного специалиста по информационной безопасности.
📌 Обязанности:
• Обеспечение безопасности корпоративной почты
• Настройка безопасности Windows Server AD и GPO
• Ведение logging и систем мониторинга
• Выявление и предотвращение уязвимостей
• Обеспечение безопасности сети и SQL
• Проведение тренингов по безопасности для сотрудников
• Внедрение и контроль политик безопасности
📌 Требования:
• Практический опыт в сфере Cybersecurity
• Понимание сетевой безопасности и firewall
• Опыт работы с SIEM / системами мониторинга
• Знание принципов Incident Response
• Умение работать в команде
• Знание русского и английского языков
⭐️ Будет преимуществом:
• Сертификаты CEH, Security+, CISSP
• Опыт в Linux или Cloud security
📍 г. Ташкент
👤 Возраст: 20–30
💰 Зарплата: 1000$ + KPI
📩 Отправляйте резюме: @it_manager7
@sysadmin1
IT-компания приглашает опытного специалиста по информационной безопасности.
📌 Обязанности:
• Обеспечение безопасности корпоративной почты
• Настройка безопасности Windows Server AD и GPO
• Ведение logging и систем мониторинга
• Выявление и предотвращение уязвимостей
• Обеспечение безопасности сети и SQL
• Проведение тренингов по безопасности для сотрудников
• Внедрение и контроль политик безопасности
📌 Требования:
• Практический опыт в сфере Cybersecurity
• Понимание сетевой безопасности и firewall
• Опыт работы с SIEM / системами мониторинга
• Знание принципов Incident Response
• Умение работать в команде
• Знание русского и английского языков
⭐️ Будет преимуществом:
• Сертификаты CEH, Security+, CISSP
• Опыт в Linux или Cloud security
📍 г. Ташкент
👤 Возраст: 20–30
💰 Зарплата: 1000$ + KPI
📩 Отправляйте резюме: @it_manager7
@sysadmin1
👍3❤2🔥2🎉1🤩1
📦 Резервное копирование и восстановление
🧰 Основные инструменты:
-
-
-
-
📁
📦 Создание архива:
🔍 Проверка содержимого:
♻️ Восстановление:
📝 Полезно:
-
-
-
-
-
🔁
📤 Бэкап локальной папки:
🌍 На удалённый сервер по SSH:
🛡️ С флагами:
-
-
-
-
📅 Пример: копирование с датой
⏰
🛠️ Открыть crontab:
🕒 Пример задания: ежедневный бэкап в 2:00
📌 Формат:
👀 Просмотр логов:
🧠
📦 Создание репозитория:
🧱 Резервное копирование:
🔍 Проверка архива:
🛠️ Восстановление:
🧹 Удаление старых архивов:
🔐 Преимущества Borg:
- Шифрование по умолчанию
- Сжатие и дедупликация
- Поддержка удалённого хранения (через SSH)
✅ Best Practices
🔁 Храните несколько копий в разных местах
🔒 Используйте шифрование для чувствительных данных
📋 Регулярно тестируйте восстановление
📆 Автоматизируйте с помощью
☁️ Подумайте о облачном бэкапе (rclone, borg + SSH, rsync + VPS)
@sysadmin1
🧰 Основные инструменты:
-
tar — архивирование файлов-
rsync — синхронизация каталогов-
cron — автоматизация по расписанию-
BorgBackup — инкрементные зашифрованные бэкапы📁
tar — Архивация📦 Создание архива:
tar -czvf backup.tar.gz /путь/к/каталогу
🔍 Проверка содержимого:
tar -tzf backup.tar.gz
♻️ Восстановление:
tar -xzvf backup.tar.gz -C /куда/восстановить
📝 Полезно:
-
-c — создать архив-
-x — извлечь-
-z — сжать gzip-
-v — вывод списка-
-f — указать имя файла🔁
rsync — Синхронизация и инкрементные копии📤 Бэкап локальной папки:
rsync -avh /источник/ /backup/каталог/
🌍 На удалённый сервер по SSH:
rsync -avz -e ssh /data/ user@host:/backup/
🛡️ С флагами:
-
-a — архивный режим (всё сохраняет)-
-v — подробный вывод-
-z — сжатие-
--delete — удаляет на стороне назначения лишние файлы📅 Пример: копирование с датой
rsync -av --progress /data/ /backup/$(date +%F)/
⏰
cron — Автоматизация задач🛠️ Открыть crontab:
crontab -e
🕒 Пример задания: ежедневный бэкап в 2:00
0 2 * * * /usr/bin/rsync -a /data/ /backup/
📌 Формат:
мин ч д_мес мес д_нед команда
👀 Просмотр логов:
grep CRON /var/log/syslog
🧠
BorgBackup — Продвинутый бэкап с дедупликацией и шифрованием📦 Создание репозитория:
borg init --encryption=repokey /backup/borg-repo
🧱 Резервное копирование:
borg create /backup/borg-repo::ИмяАрхива-$(date +%F) /data
🔍 Проверка архива:
borg list /backup/borg-repo
🛠️ Восстановление:
borg extract /backup/borg-repo::ИмяАрхива
🧹 Удаление старых архивов:
borg prune -v --keep-daily=7 --keep-weekly=4 --keep-monthly=6 /backup/borg-repo
🔐 Преимущества Borg:
- Шифрование по умолчанию
- Сжатие и дедупликация
- Поддержка удалённого хранения (через SSH)
✅ Best Practices
🔁 Храните несколько копий в разных местах
🔒 Используйте шифрование для чувствительных данных
📋 Регулярно тестируйте восстановление
📆 Автоматизируйте с помощью
cron, логируйте результаты ☁️ Подумайте о облачном бэкапе (rclone, borg + SSH, rsync + VPS)
@sysadmin1
❤2👍2🎉2💯2🔥1
📌Fail2Ban — это утилита для защиты серверов от брутфорс-атак и других видов несанкционированного доступа путем временной блокировки IP-адресов.
1. Установка Fail2Ban
Debian/Ubuntu:
CentOS/RHEL:
Arch Linux:
2. Управление сервисом
Запуск и включение Fail2Ban
Перезапуск и проверка статуса
3. Конфигурация Fail2Ban
Файл конфигурации по умолчанию:
Рекомендуется создать локальную копию:
Редактировать:
Основные параметры
4. Настройка фильтров
Фильтры хранятся в
Пример фильтра sshd.conf (
5. Настройка jail для SSH
Файл
6. Перезапуск и проверка работы
Проверить конкретный jail:
7. Разблокировка IP
Список заблокированных IP:
Разблокировать IP:
8. Логирование и отладка
Просмотр журнала Fail2Ban:
Лог-файл:
9. Полезные команды
Блокировка IP вручную
Добавление в белый список (whitelist)
Добавьте IP в
Удаление бана с IP
Удаление всех банов
10. Автозапуск после перезагрузки
11. Интеграция с UFW (Ubuntu)
Если используется UFW:
Добавьте:
Перезапустите Fail2Ban:
Эта шпаргалка содержит основные команды и конфигурации для защиты сервера от атак с помощью Fail2Ban. 🚀
@sysadmin1
1. Установка Fail2Ban
Debian/Ubuntu:
sudo apt update && sudo apt install fail2ban -y
CentOS/RHEL:
sudo yum install epel-release -y
sudo yum install fail2ban -y
Arch Linux:
sudo pacman -S fail2ban
2. Управление сервисом
Запуск и включение Fail2Ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Перезапуск и проверка статуса
sudo systemctl restart fail2ban
sudo systemctl status fail2ban
3. Конфигурация Fail2Ban
Файл конфигурации по умолчанию:
/etc/fail2ban/jail.conf
Рекомендуется создать локальную копию:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Редактировать:
sudo nano /etc/fail2ban/jail.local
Основные параметры
[DEFAULT]
bantime = 10m # Время бана (10 минут)
findtime = 10m # Временной промежуток для поиска нарушений
maxretry = 5 # Количество неудачных попыток до блокировки
ignoreip = 127.0.0.1/8 # IP-адреса, которые не будут заблокированы
4. Настройка фильтров
Фильтры хранятся в
/etc/fail2ban/filter.d/. Пример фильтра sshd.conf (
/etc/fail2ban/filter.d/sshd.conf):[Definition]
failregex = ^%(__prefix_line)sFailed password for .* from <HOST> port \d+ ssh2
ignoreregex =
5. Настройка jail для SSH
Файл
/etc/fail2ban/jail.local:[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log # Для Debian/Ubuntu
# logpath = /var/log/secure # Для CentOS/RHEL
maxretry = 3
bantime = 1h
6. Перезапуск и проверка работы
sudo systemctl restart fail2ban
sudo fail2ban-client status
Проверить конкретный jail:
sudo fail2ban-client status sshd
7. Разблокировка IP
Список заблокированных IP:
sudo fail2ban-client status sshd
Разблокировать IP:
sudo fail2ban-client set sshd unbanip 192.168.1.100
8. Логирование и отладка
Просмотр журнала Fail2Ban:
sudo journalctl -u fail2ban --no-pager
Лог-файл:
sudo tail -f /var/log/fail2ban.log
9. Полезные команды
Блокировка IP вручную
sudo fail2ban-client set sshd banip 192.168.1.200
Добавление в белый список (whitelist)
Добавьте IP в
ignoreip в /etc/fail2ban/jail.local:ignoreip = 127.0.0.1/8 192.168.1.100
Удаление бана с IP
sudo fail2ban-client set sshd unbanip 192.168.1.100
Удаление всех банов
sudo fail2ban-client set sshd unban --all
10. Автозапуск после перезагрузки
sudo systemctl enable fail2ban
11. Интеграция с UFW (Ubuntu)
Если используется UFW:
sudo nano /etc/fail2ban/jail.local
Добавьте:
[sshd]
enabled = true
backend = auto
port = ssh
filter = sshd
banaction = ufw
Перезапустите Fail2Ban:
sudo systemctl restart fail2ban
Эта шпаргалка содержит основные команды и конфигурации для защиты сервера от атак с помощью Fail2Ban. 🚀
@sysadmin1
🎉4🏆3👍2🔥2❤1
📌 Автоматизация задач (cron, systemd timers, Ansible)
Всем доброй ночи!
Автоматизация — ключевой элемент эффективного администрирования серверов. В данном руководстве рассмотрены три основных инструмента автоматизации:
- cron — классический планировщик задач в UNIX-подобных системах.
- systemd timers — альтернатива cron, интегрированная в systemd.
- Ansible — инструмент управления конфигурацией и автоматизации.
1. Использование cron
cron позволяет запускать команды и скрипты по расписанию.
1.1. Основные файлы cron
- /etc/crontab — системный crontab.
- /etc/cron.d/ — каталог для пользовательских crontab-файлов.
- /var/spool/cron/crontabs/ — файлы crontab для отдельных пользователей.
1.2. Формат записи crontab
Пример: запуск скрипта каждый день в 3:30 утра:
1.3. Управление cron
- Просмотр текущего crontab:
- Редактирование crontab:
- Удаление crontab:
- Логи cron хранятся в /var/log/syslog (Ubuntu/Debian) или /var/log/cron (CentOS/RHEL).
2. Использование systemd timers
Systemd timers — альтернатива cron, предоставляющая больше возможностей, включая логирование и гибкость настроек.
2.1. Создание таймера
1. Создайте unit-файл для сервиса (
2. Создайте unit-файл для таймера (
2.2. Управление таймерами
- Включение таймера:
- Проверка состояния таймера:
- Просмотр логов:
3. Автоматизация с Ansible
Ansible позволяет управлять серверами без установки агентов.
3.1. Установка Ansible
Для Debian/Ubuntu:
Для CentOS/RHEL:
3.2. Базовая структура Ansible
3.3. Пример Playbook
Файл
Запуск:
Заключение
- Используйте cron для простых задач.
- Применяйте systemd timers, если важны логи и интеграция с systemd.
- Автоматизируйте масштабные задачи с Ansible.
@sysadmin1
Всем доброй ночи!
Автоматизация — ключевой элемент эффективного администрирования серверов. В данном руководстве рассмотрены три основных инструмента автоматизации:
- cron — классический планировщик задач в UNIX-подобных системах.
- systemd timers — альтернатива cron, интегрированная в systemd.
- Ansible — инструмент управления конфигурацией и автоматизации.
1. Использование cron
cron позволяет запускать команды и скрипты по расписанию.
1.1. Основные файлы cron
- /etc/crontab — системный crontab.
- /etc/cron.d/ — каталог для пользовательских crontab-файлов.
- /var/spool/cron/crontabs/ — файлы crontab для отдельных пользователей.
1.2. Формат записи crontab
* * * * * /путь/к/команде аргументы
| | | | |
| | | | +---- День недели (0 - вс, 6 - сб)
| | | +------ Месяц (1-12)
| | +-------- День месяца (1-31)
| +---------- Часы (0-23)
+------------ Минуты (0-59)
Пример: запуск скрипта каждый день в 3:30 утра:
30 3 * * * /usr/local/bin/myscript.sh
1.3. Управление cron
- Просмотр текущего crontab:
crontab -l
- Редактирование crontab:
crontab -e
- Удаление crontab:
crontab -r
- Логи cron хранятся в /var/log/syslog (Ubuntu/Debian) или /var/log/cron (CentOS/RHEL).
2. Использование systemd timers
Systemd timers — альтернатива cron, предоставляющая больше возможностей, включая логирование и гибкость настроек.
2.1. Создание таймера
1. Создайте unit-файл для сервиса (
/etc/systemd/system/myscript.service):[Unit]
Description=Запуск скрипта
[Service]
ExecStart=/usr/local/bin/myscript.sh
2. Создайте unit-файл для таймера (
/etc/systemd/system/myscript.timer):[Unit]
Description=Таймер для myscript.service
[Timer]
OnCalendar=*-*-* 03:30:00
Persistent=true
[Install]
WantedBy=timers.target
2.2. Управление таймерами
- Включение таймера:
systemctl enable --now myscript.timer
- Проверка состояния таймера:
systemctl list-timers
- Просмотр логов:
journalctl -u myscript.service --no-pager
3. Автоматизация с Ansible
Ansible позволяет управлять серверами без установки агентов.
3.1. Установка Ansible
Для Debian/Ubuntu:
sudo apt update && sudo apt install -y ansible
Для CentOS/RHEL:
sudo yum install -y epel-release
sudo yum install -y ansible
3.2. Базовая структура Ansible
inventory/hosts # Список серверов
playbooks/
install_apache.yml # Пример Playbook
roles/
common/ # Роли Ansible
3.3. Пример Playbook
Файл
install_apache.yml:- hosts: webservers
become: yes
tasks:
- name: Установить Apache
apt:
name: apache2
state: present
Запуск:
ansible-playbook -i inventory/hosts playbooks/install_apache.yml
Заключение
- Используйте cron для простых задач.
- Применяйте systemd timers, если важны логи и интеграция с systemd.
- Автоматизируйте масштабные задачи с Ansible.
@sysadmin1
🤝3🤩2❤1👍1🔥1
🧰 Установка и управление пакетами в Linux
🗂 Основные менеджеры пакетов:
-
-
-
-
🟦
🟨
🟥
🟩
🌀
🔵
📌 Примечание:
-
- Используйте
@sysadmin1
🗂 Основные менеджеры пакетов:
-
apt — Debian/Ubuntu-
yum, dnf — CentOS, RHEL, Fedora-
pacman — Arch Linux-
snap, flatpak — кроссплатформенные🟦
apt (Debian/Ubuntu)apt update # Обновить список пакетов
apt upgrade # Обновить установленные пакеты
apt install <пакет> # Установить пакет
apt remove <пакет> # Удалить пакет (оставив конфиги)
apt purge <пакет> # Удалить с конфигами
apt autoremove # Удалить неиспользуемые зависимости
apt search <имя> # Найти пакет
apt show <пакет> # Информация о пакете
🟨
yum (CentOS 7 и старше)yum check-update # Проверить обновления
yum update # Обновить всё
yum install <пакет> # Установить
yum remove <пакет> # Удалить
yum info <пакет> # Информация о пакете
yum list installed # Все установленные пакеты
yum search <ключевое_слово> # Поиск
🟥
dnf (Fedora, CentOS 8+)dnf check-update # Проверить обновления
dnf upgrade # Обновить всё
dnf install <пакет> # Установить
dnf remove <пакет> # Удалить
dnf info <пакет> # Инфо о пакете
dnf search <имя> # Поиск
dnf list installed # Установленные пакеты
🟩
pacman (Arch Linux и производные)pacman -Syu # Обновить систему
pacman -S <пакет> # Установить пакет
pacman -R <пакет> # Удалить
pacman -Rs <пакет> # Удалить с зависимостями
pacman -Ss <поиск> # Поиск в репозиториях
pacman -Qi <пакет> # Информация о пакете
pacman -Qdt # Найти осиротевшие пакеты
🌀
snap (Canonical, sandboxed)snap find <пакет> # Найти
snap install <пакет> # Установить
snap list # Установленные пакеты
snap refresh # Обновить всё
snap remove <пакет> # Удалить
🔵
flatpak (Sandboxed, альтернатива snap)flatpak search <имя> # Поиск
flatpak install <репо> <имя> # Установить (обычно `flathub`)
flatpak run <идентификатор> # Запустить
flatpak list # Список установленных
flatpak update # Обновить всё
flatpak uninstall <имя> # Удалить
📌 Примечание:
-
snap и flatpak — изолированные окружения, не конфликтуют с системными пакетами. - Используйте
apt, dnf и др. для системных компонентов, а snap/flatpak — для десктопных/изолированных приложений.@sysadmin1
🤗3👍2🤩2❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
📡 Когда интернет в районе снова лагает…
🐐 Коза не выдержала…
и повесилась на оптоволоконный кабель.
Её спасли и спросили:
— Ты чего творишь?! 😳
Коза спокойно отвечает:
— Интернет слабый… жить невозможно…
💀 Уровень отчаяния: L7
📉 Скорость: “подключено, но не работает”
Коллеги, признавайтесь — у кого тоже интернет доводил до такого? 😅
@sysadmin1
🐐 Коза не выдержала…
и повесилась на оптоволоконный кабель.
Её спасли и спросили:
— Ты чего творишь?! 😳
Коза спокойно отвечает:
— Интернет слабый… жить невозможно…
💀 Уровень отчаяния: L7
📉 Скорость: “подключено, но не работает”
Коллеги, признавайтесь — у кого тоже интернет доводил до такого? 😅
@sysadmin1
😁6🔥3🤣3🐳2❤1
📌Работа с Docker и контейнерами
Введение
Docker – это инструмент контейнеризации, который позволяет упрощать развертывание и управление приложениями. В этом руководстве мы рассмотрим основные команды и концепции, необходимые для работы с контейнерами.
1. Установка Docker
На Linux (Ubuntu/Debian):
На CentOS/RHEL:
Проверка установки:
2. Основные команды Docker
2.1 Запуск контейнера (
Запустить контейнер можно с помощью команды:
Параметры:
-
-
-
2.2 Список работающих контейнеров
Для отображения всех контейнеров (включая остановленные):
2.3 Остановка и удаление контейнеров
Остановка контейнера:
Удаление контейнера:
2.4 Запуск команд в работающем контейнере
Выполнить команду в контейнере:
3. Работа с Docker Compose
Docker Compose позволяет управлять несколькими контейнерами с помощью YAML-файла.
3.1 Установка Docker Compose
3.2 Пример
Создадим файл
3.3 Запуск и управление сервисами
Запустить контейнеры:
Остановить контейнеры:
Просмотреть логи:
4. Работа с образами (Docker Images)
4.1 Список локальных образов
4.2 Поиск образов
4.3 Загрузка образа
4.4 Создание своего образа
Создайте
Соберите образ:
5. Работа с томами (Volumes)
Тома используются для хранения данных контейнеров.
5.1 Создание и просмотр томов
Создать новый том:
Просмотреть список томов:
5.2 Подключение тома к контейнеру
@sysadmin1
Введение
Docker – это инструмент контейнеризации, который позволяет упрощать развертывание и управление приложениями. В этом руководстве мы рассмотрим основные команды и концепции, необходимые для работы с контейнерами.
1. Установка Docker
На Linux (Ubuntu/Debian):
sudo apt update && sudo apt install -y docker.io
sudo systemctl enable --now docker
На CentOS/RHEL:
sudo yum install -y docker
sudo systemctl enable --now docker
Проверка установки:
docker --version
2. Основные команды Docker
2.1 Запуск контейнера (
docker run)Запустить контейнер можно с помощью команды:
docker run -d --name my_container nginx
Параметры:
-
-d – фоновый режим-
--name – задание имени контейнеру-
nginx – имя образа2.2 Список работающих контейнеров
docker ps
Для отображения всех контейнеров (включая остановленные):
docker ps -a
2.3 Остановка и удаление контейнеров
Остановка контейнера:
docker stop my_container
Удаление контейнера:
docker rm my_container
2.4 Запуск команд в работающем контейнере
Выполнить команду в контейнере:
docker exec -it my_container bash
3. Работа с Docker Compose
Docker Compose позволяет управлять несколькими контейнерами с помощью YAML-файла.
3.1 Установка Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
3.2 Пример
docker-compose.ymlСоздадим файл
docker-compose.yml:version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: rootpass
3.3 Запуск и управление сервисами
Запустить контейнеры:
docker-compose up -d
Остановить контейнеры:
docker-compose down
Просмотреть логи:
docker-compose logs -f
4. Работа с образами (Docker Images)
4.1 Список локальных образов
docker images
4.2 Поиск образов
docker search ubuntu
4.3 Загрузка образа
docker pull ubuntu
4.4 Создание своего образа
Создайте
Dockerfile:FROM ubuntu:latest
RUN apt update && apt install -y nginx
CMD ["nginx", "-g", "daemon off;"]
Соберите образ:
docker build -t my_nginx .
5. Работа с томами (Volumes)
Тома используются для хранения данных контейнеров.
5.1 Создание и просмотр томов
Создать новый том:
docker volume create my_volume
Просмотреть список томов:
docker volume ls
5.2 Подключение тома к контейнеру
docker run -d -v my_volume:/data --name my_container nginx
@sysadmin1
❤3👍3🔥2⚡1🎉1
⚡ Автоочистка памяти RAM в Linux 🧹
Если сервер начинает тормозить из-за перегруженной оперативной памяти, можно использовать скрипт для её очистки.
🛠️ Скрипт:
📌 Как использовать:
1. Сохраните скрипт в файл, например
2. Дайте права на выполнение:
3. Запустите от root:
🕒 Автоматизация через
Можно настроить автоматический запуск, например, раз в час:
Добавьте строку:
Теперь сервер будет поддерживать оперативную память в чистоте без вашего участия! 🚀
@sysadmin1
Если сервер начинает тормозить из-за перегруженной оперативной памяти, можно использовать скрипт для её очистки.
🛠️ Скрипт:
#!/bin/bash
echo "Освобождение памяти..."
sync && echo 3 > /proc/sys/vm/drop_caches
echo "Готово! Свободная память увеличена."
📌 Как использовать:
1. Сохраните скрипт в файл, например
clear_ram.sh2. Дайте права на выполнение:
chmod +x clear_ram.sh
3. Запустите от root:
sudo ./clear_ram.sh
🕒 Автоматизация через
cronМожно настроить автоматический запуск, например, раз в час:
sudo crontab -e
Добавьте строку:
0 * * * * /path/to/clear_ram.sh
Теперь сервер будет поддерживать оперативную память в чистоте без вашего участия! 🚀
@sysadmin1
👍2🔥2❤1🎉1