Iptables позволяет фильтровать сетевой трафик на уровне ядра Linux. Это значит, что можно заблокировать доступ с конкретных IP-адресов ещё до того, как пакет дойдёт до приложений.В этом посте:
• Проверяем текущее состояние iptables и список правил.
• Добавляем простое правило для блокировки конкретного IP.
• Разбираем разницу между DROP и ACCEPT.
• Сохраняем правила, чтобы они не пропали после перезагрузки.
Так можно вручную контролировать доступ к серверу и минимизировать нежелательные подключения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥9❤6🤝3
В этом посте — 7 команд, которые помогут проверить сообщения ядра, загруженные модули, версию системы и состояние ресурсов. dmesg, journalctl, lsmod, uname и другие — всё, что нужно для базовой отладки при проблемах с загрузкой или драйверами.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍9❤4🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
На сайте собраны статьи, где на примерах показывают, как использовать пайпы для обработки данных и текстов. Научишься комбинировать команды, фильтровать логи, сортировать и трансформировать информацию прямо в терминале.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤝8❤7🔥2
$ find . -type d -empty -exec rmdir -v {} +Опция
-type d ищет директории, -empty выбирает пустые, а -exec rmdir {} выполняет команду rmdir, чтобы удалить их.Команда
rmdir гарантирует, что директория пуста, прежде чем удалить её.Альтернативно, вы можете использовать эту команду для выполнения той же задачи:
$ find . -type d -empty -delete
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍7🔥4
Логи быстро накапливаются и могут заполнять диск — особенно на серверах с интенсивной записью.
Напишем простой и надёжный bash-скрипт, который будет ротировать текущие логи в архив с датой и удалять старые записи по возрасту.
В этом посте:
• Пишемlogrotate.sh— создаём папки для текущих и архивных логов;
• Переносим .log в архив с добавлением даты в имени;
• Удаляем архивы старше N дней с помощью find -mtime.
Это полезно для серверов, где не хочется поднимать сложные системы логирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥8❤7👎2
Автоматизация с cron — задачи по расписанию прямо в Linux!
Cron позволяет запускать скрипты и команды без ручного вмешательства: бэкапы, мониторинг, чистка логов. Всё работает в фоне, по заданному расписанию.
Создадим простой скрипт — он будет писать метку времени в лог (пример
Делаем скрипт исполняемым и прогоняем вручную для проверки:
Добавим задачу в crontab текущего пользователя (запускается каждый день в 02:00):
Если нужно задать окружение и логирование прямо в crontab — положи эти строки (пример /etc/cron.d/myjobs или в crontab пользователя):
Проверяем выполнение — смотрим системный журнал cron и наш лог:
Теперь любые задачи можно запускать автоматически — без ручного вмешательства, строго по расписанию.
🚪 Linux Ready | #практика
Cron позволяет запускать скрипты и команды без ручного вмешательства: бэкапы, мониторинг, чистка логов. Всё работает в фоне, по заданному расписанию.
Создадим простой скрипт — он будет писать метку времени в лог (пример
/usr/local/bin/backup.sh):sudo tee /usr/local/bin/backup.sh > /dev/null <<'EOF'
#!/bin/bash
LOG="/var/log/cron_backup.log"
mkdir -p "$(dirname "$LOG")"
echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - backup run" >> "$LOG"
# сюда можно добавить реальные действия, например: rsync, tar и т.п.
EOF
Делаем скрипт исполняемым и прогоняем вручную для проверки:
sudo chmod +x /usr/local/bin/backup.sh
sudo /usr/local/bin/backup.sh
ls -l /usr/local/bin/backup.sh
tail -n 5 /var/log/cron_backup.log
Добавим задачу в crontab текущего пользователя (запускается каждый день в 02:00):
( crontab -l 2>/dev/null; echo "0 2 * * * /usr/local/bin/backup.sh" ) | crontab -
Если нужно задать окружение и логирование прямо в crontab — положи эти строки (пример /etc/cron.d/myjobs или в crontab пользователя):
# пример для /etc/cron.d/myjobs (требует root)
sudo tee /etc/cron.d/myjobs > /dev/null <<'EOF'
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
0 2 * * * root /usr/local/bin/backup.sh >> /var/log/cron_backup.log 2>&1
EOF
sudo chmod 644 /etc/cron.d/myjobs
Проверяем выполнение — смотрим системный журнал cron и наш лог:
journalctl -u cron --since "1 hour ago" -n 50 || journalctl -u crond --since "1 hour ago" -n 50
tail -n 50 /var/log/cron_backup.log
=
Теперь любые задачи можно запускать автоматически — без ручного вмешательства, строго по расписанию.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7🔥4
Сегодняшний квиз будет про невидимые ловушки в Linux!
Мы часто пользуемся
Алиасы (alias) в
Представь, что на машине есть вот такие настройки:
Теперь пользователь запускает скрипт:
А чуть позже добавляет в
И запускает скрипт снова.
🚪 Linux Ready | #консоль
Мы часто пользуемся
ls, grep, rm, но в повседневной работе редко задумываемся, что они могут быть вовсе не теми, за кого себя выдают. Алиасы (alias) в
~/.bashrc иногда превращают стандартные утилиты в нечто неожиданное.Представь, что на машине есть вот такие настройки:
alias ls='ls --color=auto'
alias rm='rm -i'
alias grep='grep --color=auto'
Теперь пользователь запускает скрипт:
#!/bin/bash
files=$(ls *.txt)
for f in $files; do
rm $f
done
А чуть позже добавляет в
~/.bashrc ещё один алиас:alias ls='ls -lh'
И запускает скрипт снова.
И так, вопрос: что произойдёт при втором запуске этого скрипта?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6🔥4
Пишем в комментарии свои предположения! Варианты ответа:
Anonymous Poll
15%
Скрипт удалит все .txt файлы как обычно.
21%
rm -i будет спрашивать подтверждение для каждого файла.
41%
ls -lh выведет список файлов в многострочном виде, и скрипт попробует удалить несуществующие имена.
18%
Алиасы в скриптах не действуют, и всё выполнится корректно.
22%
Ничего не изменится, так как алиасы игнорируются в командных подстановках $(…)
👍10🔥5❤4
NFS позволяет нескольким системам работать с одной директорией так, будто она локальная. Это удобно для обмена файлами в локальной сети, тестовых окружениях или на домашнем сервере.
В этом посте:
• Устанавливаем пакеты nfs-kernel-server и настраиваем экспорт директорий.
• Добавляем права и указываем клиентов, которым разрешён доступ.
• Подключаем шары на клиентской машине через mount.
• Проверяем доступность и работу с файлами.
Это простой способ организовать общее файловое хранилище без сложных систем.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23❤5👍5