diff options
| author | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
|---|---|---|
| committer | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
| commit | e5abc1fe99340b979b18864d978179f71fe8f5c5 (patch) | |
| tree | 98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /LINUX/BASH_script/15 однострочных bash-скриптов.md | |
First
Diffstat (limited to 'LINUX/BASH_script/15 однострочных bash-скриптов.md')
| -rw-r--r-- | LINUX/BASH_script/15 однострочных bash-скриптов.md | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/LINUX/BASH_script/15 однострочных bash-скриптов.md b/LINUX/BASH_script/15 однострочных bash-скриптов.md new file mode 100644 index 0000000..555f4ff --- /dev/null +++ b/LINUX/BASH_script/15 однострочных bash-скриптов.md @@ -0,0 +1,211 @@ +для упрощения рутинных задач + +1. Проверка использования +дискового пространства +Нехватка места на диске может привести к +сбою приложений. Эта команда выводит +список всех смонтированных разделов и +выделяет те, которые утилизированы на 80% +и более. +==`df -h | awk '$5+0 > 80 {print}' +- df -hотображает использование диска в +удобном для чтения формате. +- awk ‘$5+0 > 80 {print}’извлекает +строки, в которых утилизация превышает +80%. + +2. Поиск больших файлов, +которые занимают место +Определите 10 самых больших файлов в +системе. +==`find / -type f -exec du -h {} + | +sort -rh | head -10 +- find / -type fищет все файлы. +- du -hвычисляет размеры файлов в +удобном для чтения формате. +- sort -rhсортирует результаты по +убыванию. +- head -10ограничивает вывод 10 самыми +большими файлами. + +3. Отслеживание обновлений +лога в реальном времени +Просмотр файлов логов в режиме реального +времени, с фильтрацией сообщений об +ошибках. +==`tail -f /var/log/syslog | grep - +line-buffered "error" +- tail -fотслеживает файл журнала по +мере добавления новых записей. +- grep — line-buffered “error” +фильтрует строки, содержащие "error". + +4. Перезапуск службы в случае +сбоя +Проверка, что критически важная служба, +такая как Nginx, всегда запущена. +==`systemctl is-active - quiet nginx +|| systemctl restart nginx +- systemctl is-active — quiet +nginx проверяет состояние службы. +- Если она не запущена, systemctl +restart nginx перезапускает ее. + +5. Мониторинг использования +CPU в режиме реального +времени +Проверка загрузки CPU в реальном времени +для устранения неполадок с +производительностью. +==`top -b -n 1 | grep "Cpu(s)" +- top -b -n 1запускает «top» в пакетном +режиме для одной итерации. +- grep “Cpu(s)”извлекает сведения об +использовании CPU. + +6. Уничтожение самого +ресурсоемкого процесса +Поиск и завершение процесса, +потребляющего больше всего ресурсов CPU. +==`kill -9 $(ps -eo pid,%cpu - +sort=-%cpu | awk 'NR==2 {print +$1}') +- ps -eo pid,%cpu — sort=-%cpuвыводит +список процессов, отсортированных по +использованию CPU. +- awk ‘NR\==2 {print $1}’выбирает +процесс с наибольшим потреблением ЦП. +- kill -9принудительно завершает его. + +7. Получение публичного IP- +адреса +Быстрое получение публичного IP-адреса +сервера. +==`curl -s ifconfig.me +- Способ использует curl для запроса +текущего публичного IP-адреса из +«ifconfig.me». +- -s Подавляет ненужный вывод. + +8. Поиск всех открытых сетевых +портов +Перечисление всех активных +прослушиваемых портов на вашем +компьютере. +==`netstat -tulnp | grep LISTEN +- netstat -tulnpотображает открытые +порты и связанные с ними процессы. +- grep LISTENфильтрует результаты по +прослушиваемым портам. + +9. Копирование SSH-ключа на +удаленный сервер +Настройка беспарольной SSH- +аутентификации за секунды. +==`ssh-keygen -t rsa -b 2048 -q -N +"" && ssh-copy-id +user@remote_server +- ssh-keygen создает пару ключей RSA. +- ssh-copy-id передает открытый ключ на +удаленный сервер. + +10. Синхронизация файлов +между серверами +Использование rsync для зеркалирования +файлов с одного сервера на другой. +==`rsync -avz /local/path +user@remote:/remote/path +- -a сохраняет разрешения и временные +метки. +- -v включает подробный режим. +- -z сжимает данные для более быстрой +передачи. + +11. Планирование задач с +помощью Cron +Добавление задания cron для резервного +копирования файлов каждую ночь в 2 часа +ночи. +==`echo "0 2 * * * tar -czf / +backup.tar.gz /important/data" | +crontab - +- 0 2 * * *планирует задание на 2 часа +ночи ежедневно. +- tar -czfсжимает и создает резервную +копию "/important/data". + +12. Загрузка файла в фоновом +режиме +Использование «wget» для загрузки +больших файлов без блокировки терминала. +==`nohup wget -q https:// +example.com/bigfile.zip & +- nohup обеспечивает выполнение процесса +даже после выхода из системы. +- wget -q незаметно загружает файл. +- & запускает процесс в фоновом режиме. + +13. Поиск и удаление старых +файлов логов +Автоматическая очистка логов старше 7 +дней. +==`find /var/log -name "*.log" +-mtime +7 -exec rm -f {} \; +- -mtime +7выбирает файлы старше 7 дней. +- -exec rm -f {}удаляет их. + +14. Проверка открыт ли порт на +удаленном сервере +Проверка открыт ли определенный порт +(например, 443) на удаленном хосте. +==`nc -zv example.com 443 +- nc -zvпроверяет соединение без +отправки данных. +- Полезно для устранения неполадок +брандмауэра и подключения. + +15. Список всех запущенных +Docker-контейнеров +Удобный просмотр активных контейнеров +Docker. +==`docker ps - format "table {{.ID}} +\t {{.Image}} \t {{.Status}}" +- docker psвыводит список запущенных +контейнеров. +- — formatструктурирует вывод для лучшей +читабельности. + +========================= +Подборка полезных скриптов для опытных Linux-админов + +1) 🔍 Быстрый поиск крупных файлов (удобно перед очисткой диска) +du -ah / | sort -rh | head -n 30 + +2) 🛑 Массовое убийство зависших процессов по шаблону +pkill -f "pattern" + +3) 🧼 Очистка старых логов/кэша старше X дней +find /var/log -type f -mtime +7 -delete + +4) 🧬 Проверка файловой системы без остановки +fsck -n /dev/sdX + +5) 📦 Список пакетов, обновлённых за последние 5 дней +grep "upgrade" /var/log/dpkg.log | tail + +6) 🕵️ Слежение за открытыми портами в реальном времени +watch -n1 "ss -tulpn" + +7) 📊 Сбор top-нагружающих процессов по CPU за минуту +ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head + +8) 🔁 Авто-рестарт службы при падении +while true; do systemctl restart myservice; sleep 5; done + +9) 🔗 Быстрый тест сетевой задержки и MTU +tracepath google.com + +10) 🔐 Сканирование слабых SSH-ключей +ssh-audit -p 22 localhost + +Такие короткие утилитарные команды экономят кучу времени в рутине админа.
\ No newline at end of file |
