Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅
Π£Ρ€ΠΎΠΊΠΈ Linux

πŸ–₯️ УскоряСм Ρ€Π°Π±ΠΎΡ‚Ρƒ скриптов: ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ set -e ΠΈ trap Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

πŸ–₯️ УскоряСм Ρ€Π°Π±ΠΎΡ‚Ρƒ скриптов: ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ set -e ΠΈ trap Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свои bash-скрипты ΠΏΠΎ-настоящСму Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ ΠΈ понятными? Π’ΠΎΠ³Π΄Π° эта Ρ‚Π΅ΠΌΠ° для вас! ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ошибками β€” Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ хаос Π² порядок. Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π»ΠΎΠ²ΠΊΠΎ Π»ΠΎΠ²ΠΈΡ‚ΡŒ ошибки ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ! - Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° set -e, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠΌ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ скрипт ΠΏΡ€ΠΈ любой ошибкС: set -e - ИспользованиС trap для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов ΠΈ ошибок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡ‚ΡŒ ΠΏΡ€ΠΈ критичСских сбоях: trap 'echo "ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка!"; exit 1' ERR - ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ: if ! ΠΊΠΎΠΌΠ°Π½Π΄a; then echo "Π§Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ" exit 1 fi ΠŸΠ»ΡŽΡΡ‹ практичСского ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°: - Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ - Π›Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ ошибка - МоТно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ оповСщСния ΠΎ сбоях ИспользованиС этих инструмСнтов β€” Π·Π°Π»ΠΎΠ³ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ большСй гибкости. А ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ошибками Π² своих скриптах? Или Ρƒ вас Π΅ΡΡ‚ΡŒ свои хитрости? πŸ’¬ ΠŸΡ€ΠΈΠ³Π»Π°ΡΠΈ своих Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰Π΅ΠΉ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

πŸ–₯️ УскоряСм Ρ€Π°Π±ΠΎΡ‚Ρƒ скриптов: ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ set -e ΠΈ trap Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свои bash-скрипты ΠΏΠΎ-настоящСму Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ ΠΈ понятными? Π’ΠΎΠ³Π΄Π° эта Ρ‚Π΅ΠΌΠ° для вас!

ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ошибками β€” Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ хаос Π² порядок. Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π»ΠΎΠ²ΠΊΠΎ Π»ΠΎΠ²ΠΈΡ‚ΡŒ ошибки ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ!

- Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° set -e, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠΌ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ скрипт ΠΏΡ€ΠΈ любой ошибкС:

set -e

- ИспользованиС trap для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов ΠΈ ошибок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡ‚ΡŒ ΠΏΡ€ΠΈ критичСских сбоях:

trap 'echo "ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка!"; exit 1' ERR

- ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ:

if ! ΠΊΠΎΠΌΠ°Π½Π΄a; then

echo "Π§Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ"

exit 1

fi

ΠŸΠ»ΡŽΡΡ‹ практичСского ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

- Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ

- Π›Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ ошибка

- МоТно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ оповСщСния ΠΎ сбоях

ИспользованиС этих инструмСнтов β€” Π·Π°Π»ΠΎΠ³ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ большСй гибкости.

А ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ошибками Π² своих скриптах? Или Ρƒ вас Π΅ΡΡ‚ΡŒ свои хитрости?

πŸ’¬ ΠŸΡ€ΠΈΠ³Π»Π°ΡΠΈ своих Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰Π΅ΠΉ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅Ρ€ΠΎΠ² ΠΈ систСмных Π°Π΄ΠΌΠΈΠ½ΠΎΠ²:

большС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… статСй Ρ‚Ρ‹ найдСшь Π² нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π»Π΅ https://t.me/LinuxSkill, Π° вакансии для систСмных администраторов β€” Π² Π±ΠΎΡ‚Π΅ https://t.me/gradeliftbot

πŸ“© Π—Π°Π²Ρ‚Ρ€Π°: Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Fail2Ban Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚!

Π’ΠΊΠ»ΡŽΡ‡ΠΈ πŸ”” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ!