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

πŸ–₯️ Как быстро Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ‚Π»ΠΈ Π² Bash-скриптах

πŸ–₯️ Как быстро Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ‚Π»ΠΈ Π² Bash-скриптах ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ! πŸš€ Если ваши скрипты Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ вСсти сСбя странно ΠΈΠ»ΠΈ Π΄ΠΎΠ»Π³ΠΎ висят β€” Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ врСмя Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Π³Π΄Π΅ Π·Π°Ρ€Ρ‹Ρ‚ Β«Π·ΠΌΠ΅ΠΉΠΊΠ°Β»! БСгодня расскаТу ΠΎ простых способах Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ бСсконСчныС Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π° Π² bash. - *ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° выполнСния*: Π²ΠΊΠ»ΡŽΡ‡ΠΈ трассировку ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠ΅Ρ€Π΅Π΄ запуском скрипта: set -x Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. - *Π›ΠΈΠΌΠΈΡ‚ Ρ†ΠΈΠΊΠ»ΠΎΠ²*: добавляй счСтчики Π² Ρ†ΠΈΠΊΠ»Ρ‹: counter=0 while [ $counter -lt 1000 ]; do # Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄ ((counter++)) done Π­Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ тСбя ΠΎΡ‚ Π²Π΅Ρ‡Π½Ρ‹Ρ… Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠΉ. - *Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ограничСния*: Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипт с Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠΌ β€” Π»Π΅Π³ΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: timeout 10s ./script.sh Если ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° Π»ΠΈΠΌΠΈΡ‚ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ β€” Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠΌ прСрваСтся. - *Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅*: вставляй Π²Ρ‹Π²ΠΎΠ΄ Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚: ./script.sh >> script.log 2>&1 ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ сразу Π»Π΅Π³Ρ‡Π΅, ΠΊΠΎΠ³Π΄Π° всё фиксируСтся. - *Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ps ΠΈ top*: Ссли скрипт «подвис» β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ

πŸ–₯️ Как быстро Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ‚Π»ΠΈ Π² Bash-скриптах

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ! πŸš€

Если ваши скрипты Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ вСсти сСбя странно ΠΈΠ»ΠΈ Π΄ΠΎΠ»Π³ΠΎ висят β€” Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ врСмя Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Π³Π΄Π΅ Π·Π°Ρ€Ρ‹Ρ‚ Β«Π·ΠΌΠ΅ΠΉΠΊΠ°Β»! БСгодня расскаТу ΠΎ простых способах Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ бСсконСчныС Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π° Π² bash.

- *ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° выполнСния*: Π²ΠΊΠ»ΡŽΡ‡ΠΈ трассировку ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠ΅Ρ€Π΅Π΄ запуском скрипта:

set -x

Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

- *Π›ΠΈΠΌΠΈΡ‚ Ρ†ΠΈΠΊΠ»ΠΎΠ²*: добавляй счСтчики Π² Ρ†ΠΈΠΊΠ»Ρ‹:

counter=0

while [ $counter -lt 1000 ]; do

# Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄

((counter++))

done

Π­Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ тСбя ΠΎΡ‚ Π²Π΅Ρ‡Π½Ρ‹Ρ… Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠΉ.

- *Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ограничСния*: Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипт с Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠΌ β€” Π»Π΅Π³ΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

timeout 10s ./script.sh

Если ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° Π»ΠΈΠΌΠΈΡ‚ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ β€” Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠΌ прСрваСтся.

- *Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅*: вставляй Π²Ρ‹Π²ΠΎΠ΄ Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚:

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

ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ сразу Π»Π΅Π³Ρ‡Π΅, ΠΊΠΎΠ³Π΄Π° всё фиксируСтся.

- *Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ps ΠΈ top*: Ссли скрипт «подвис» β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ:

ps aux | grep script.sh

top

Поняв, Π³Π΄Π΅ завис β€” быстро ΠΈΡΠΏΡ€Π°Π²Π»ΡΠ΅ΡˆΡŒ.

И ΠΏΠΎΠΌΠ½ΠΈ, Π΄Π°ΠΆΠ΅ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ β€” Π³Π΄Π΅ Π·Π°Ρ€Ρ‹Ρ‚ собака. А Ρ‚Ρ‹ ΡƒΠΆΠ΅ научился Π΄Π΅Π»Π°Ρ‚ΡŒ скрипты Π±Π΅Π· Π²Π΅Ρ‡Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅Ρ‚?

ΠŸΡ€ΠΈΠ³Π»Π°ΡΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° наш ΠΊΠ°Π½Π°Π» https://t.me/LinuxSkill β€” большС статСй ΠΎ Linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π±ΠΎΡ‚Π΅ https://t.me/gradeliftbot β€” вакансии для систСмных Π°Π΄ΠΌΠΈΠ½ΠΎΠ²!

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