Найти Π² Π”Π·Π΅Π½Π΅
Π£Ρ€ΠΎΠΊΠΈ Linux

πŸ› οΈ Как ΠΏΠΈΡΠ°Ρ‚ΡŒ эффСктивныС скрипты Π½Π° Bash Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚

πŸ› οΈ Как ΠΏΠΈΡΠ°Ρ‚ΡŒ эффСктивныС скрипты Π½Π° Bash Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ мастСра ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки! πŸš€ Если Ρ‚Ρ‹ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя β€” этот ΡƒΡ€ΠΎΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ для тСбя. Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ простыС Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ Ρ‚Π²ΠΎΠΈ Bash-скрипты ΠΌΠΎΡ‰Π½Π΅Π΅ ΠΈ понятнСС. πŸ” Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΏΠΎ написанию - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π±Π»ΠΎΠΊΠΎΠ² - ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉ ошибки послС Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄: ΠΊΠΎΠΌΠ°Π½Π΄a || { echo "Ошибка"; exit 1; } - Π”Π΅Π»Π°ΠΉ скрипты пСрСносимыми, избСгая ТСстких ΠΏΡƒΡ‚Π΅ΠΉ - Встраивай ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ понятно, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ πŸš€ Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ инструмСнты - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: DIR="/var/log" tail -n 50 "$DIR/syslog" - ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹: while [ "$#" -gt 0 ]; do case $1 in -h|--help) echo "ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:"; exit 0;; *) echo "НСизвСстный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: $1"; exit 1;; esac shift done - ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: Π΄Π΅Π»Π°ΠΉ скрипт сразу Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ 🧰 Π’Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ set -e для автоматичСского Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈ ошибкС - Π›ΠΎΠ³ΠΈ β€” Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»: ./myscript.sh

πŸ› οΈ Как ΠΏΠΈΡΠ°Ρ‚ΡŒ эффСктивныС скрипты Π½Π° Bash Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ мастСра ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки! πŸš€

Если Ρ‚Ρ‹ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя β€” этот ΡƒΡ€ΠΎΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ для тСбя.

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ простыС Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ Ρ‚Π²ΠΎΠΈ Bash-скрипты ΠΌΠΎΡ‰Π½Π΅Π΅ ΠΈ понятнСС.

πŸ” Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΏΠΎ написанию

- Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π±Π»ΠΎΠΊΠΎΠ²

- ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉ ошибки послС Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄:

командa || { echo "Ошибка"; exit 1; }

- Π”Π΅Π»Π°ΠΉ скрипты пСрСносимыми, избСгая ТСстких ΠΏΡƒΡ‚Π΅ΠΉ

- Встраивай ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ понятно, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄

πŸš€ Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ инструмСнты

- Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

DIR="/var/log"

tail -n 50 "$DIR/syslog"

- ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

while [ "$#" -gt 0 ]; do

case $1 in

-h|--help) echo "ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:";

exit 0;;

*) echo "НСизвСстный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: $1"; exit 1;;

esac

shift

done

- ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: Π΄Π΅Π»Π°ΠΉ скрипт сразу Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ

🧰 Π’Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹

- Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ set -e для автоматичСского Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈ ошибкС

- Π›ΠΎΠ³ΠΈ β€” Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»:

./myscript.sh >> script.log 2>&1

- Π‘Π»Π΅Π΄ΠΈ Π·Π° доступными рСсурсами:

free -h

НСбольшиС Π½Π°Π²Ρ‹ΠΊΠΈ, Π° сколько возмоТностСй! Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉ скрипты: ΠΎΠ½ΠΈ Π²Π΅Ρ‡Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ. А Ρ‚Ρ‹ ΡƒΠΆΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠ΅ΡˆΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ? Или Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΡˆΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ?

ΠŸΡ€ΠΎΠΊΠ°Ρ‡Π°ΠΉ свои скилы Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ https://t.me/LinuxSkill Π° ΠΏΡ€ΠΎΠΉΡ‚ΠΈ тСсты Π½Π° Π·Π½Π°Π½ΠΈΠ΅ linux Π² Π±ΠΎΡ‚Π΅ https://t.me/gradeliftbot

πŸ“© Π—Π°Π²Ρ‚Ρ€Π°: Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Fail2Ban Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚! Π’ΠΊΠ»ΡŽΡ‡ΠΈ πŸ”” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ!