리λ μ€ κ΄λ¦¬μκ° κΌ μμμΌ ν 6κ°μ§ μλ² λͺ¨λν°λ§ μλν μ€ν¬λ¦½νΈππ»π₯
μλ
νμΈμ, μ¬λ¬λΆ!π μ€λμ 리λ
μ€ μλ²λ₯Ό λ΄λΉνλ κ΄λ¦¬μκ° λ°λμ μμμΌ ν ‘μλ² λͺ¨λν°λ§ μλν μ€ν¬λ¦½νΈ’μ λν΄ μ΄μΌκΈ°ν΄λ³ΌκΉ ν΄μ.π€π‘ μλ²λ κΈ°μ
μ μ€μν μμ°! κ·Έλ°λ° μλ§μ μλ²λ₯Ό μΌμΌμ΄ λμΌλ‘ 체ν¬νλ 건? π₯΄ κ±°μ λΆκ°λ₯νμ£ . κ·Έλμ μλν μ€ν¬λ¦½νΈκ° λ΅μ
λλ€! π§β¨
κ·ΈλΌ μ§κΈ λ°λ‘, ‘λ΄ μλ² μν 체ν¬λ₯Ό μλμΌλ‘ ν΄μ£Όλ 6κ°μ§ ν΅μ¬ μ€ν¬λ¦½νΈ’ λ₯Ό μμ보면μ μ€λ¬΄μ λ°λ‘ μ¨λ¨Ήμ μ μκ² λμλλ¦¬κ² μ΅λλ€! ππ
1. μλ² μμ μ¬μ©λ λͺ¨λν°λ§ μ€ν¬λ¦½νΈ π₯οΈπ
μ¬λ¬λΆμ μλ² CPU, λ©λͺ¨λ¦¬, λμ€ν¬ μ¬μ©λμ΄ κ³ΌλΆν μνμΈμ§ νλμ νμ νλ κ², μ μ€μν κΉμ? ππ₯
- β λͺ©μ : μλ² μμ κ³ΌλΆν λ°©μ§ & μ±λ₯ μ΅μ ν
- β μ€ν¬λ¦½νΈ νΉμ§: μ κΈ°μ μΈ μν μ²΄ν¬ + μλ¦Ό κΈ°λ₯ ν¬ν¨
μ€μ μ¬μ© μμ
- 1οΈβ£
top
,free
,df
λͺ λ Ήμ΄ μ‘°ν© νμ© - 2οΈβ£ νΉμ μκ³μΉ λμΌλ©΄ μ΄λ©μΌ/μ¬λ μλ¦Ό μ μ‘ β οΈ
- 3οΈβ£ 컀맨λ μμ± ν ν¬λ‘ ν(cron)μ λ±λ‘νμ¬ β¨μλμ€νβ¨
μ½λ μμ
bash
#!/bin/bash
μλ² μμ μ¬μ©λ μ²΄ν¬ μ€ν¬λ¦½νΈ π
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
MEM_USAGE=$(free -m | grep Mem | awk '{print $3/$2 * 100.0}')
DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')
μκ³μΉ μ€μ β
if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then
echo "β οΈ CPU κ³ΌλΆν! νμ¬: $CPU_USAGE%" | mail -s "[μλ²μλ¦Ό] CPU κ³ΌλΆν" admin@yourdomain.com
fi
if (( $(echo "$MEM_USAGE > 80" | bc -l) )); then
echo "β οΈ λ©λͺ¨λ¦¬ κ³ΌλΆν! νμ¬: $MEM_USAGE%" | mail -s "[μλ²μλ¦Ό] λ©λͺ¨λ¦¬ κ³ΌλΆν" admin@yourdomain.com
fi
if (( $DISK_USAGE > 80 )); then
echo "β οΈ λμ€ν¬ κ³΅κ° λΆμ‘±! μ¬μ©λ: $DISK_USAGE%" | mail -s "[μλ²μλ¦Ό] λμ€ν¬ κ³΅κ° λΆμ‘±" admin@yourdomain.com
fi
π μ€μν ν¬μΈνΈπ
- β μ κΈ°μ μ²΄ν¬ & μλ¦Ό μλν
- β μμ€ν κ³ΌλΆν μ΄κΈ° λ¨κ³ κ°μ§ κ°λ₯
- β ν¨μ¨μ μλ² μ΄μ νμ μ€ν¬λ¦½νΈμ λλ€!
2. μλΉμ€ μν μλ νμΈ λ° μ¬μμ μ€ν¬λ¦½νΈ π¨βοΈ
μ΄μ μ€μΈ μλΉμ€κ° κ°μκΈ° λ©μ·κ±°λ μ₯μ κ° μκΈ°λ©΄ λ§€μ° κ³¨μΉ μνμ£ ? π₯΄
μ΄λ μ€μκ° κ°μ§ ν μλ μ‘°μΉνλ μ€ν¬λ¦½νΈλ ꡬμΈμ£Ό! β¨
νμ μ²΄ν¬ ν¬μΈνΈ
- β μλΉμ€ μ΄λ¦ μ§μ (nginx, mysql, redis λ±)
- β νλ‘μΈμ€ μ‘΄μ¬ μ¬λΆ νμΈ
- β λΉνμ± μ μλ μ¬μμ λͺ λ Ή μ€ν
μ€λ¬΄μ© μμ
bash
#!/bin/bash
μλΉμ€ μν μ²΄ν¬ ν μ¬μμ μ€ν¬λ¦½νΈ π¨
SERVICE=nginx
if ! pgrep -x "$SERVICE" > /dev/null; then
echo "$SERVICE μλΉμ€κ° κΊΌμ‘μ΄μ! μ¬μμν©λλ€. π οΈ"
systemctl restart $SERVICE
# μλ¦Όλ ν¨κ» 보λ΄κΈ° κ°λ₯
echo "$SERVICE μ¬μμνμ΅λλ€." | mail -s "[μλ²] μλΉμ€ μ¬μμ μλ¦Ό" admin@yourdomain.com
fi
π ν΅μ¬ ν¬μΈνΈ!π
- β μλ² λ€μ΄ μ λΉ λ₯Έ λμ κ°λ₯
- β μ°μλ μ₯μ λ°©μ§
- β λ¬΄μΈ μλ 볡ꡬμ ν΅μ¬!
3. λ‘κ·Έ λͺ¨λν°λ§ λ° κ²½κ³ μλν ππ¨
μλ²μ΄μμμ λ‘κ·Έλ λ§€μ° μ€μν ‘μ΄μ μ νΈ νμ§κΈ°’π΅οΈβοΈμ
λλ€.
νΉμ μ€λ₯κ° ν¬μ°©λλ©΄ μ¦μ μλ¦ΌμΌλ‘ λ°λ‘ μ‘°μΉν μ μμ΄μΌ νμ£ !
ν΅μ¬ ν¬μΈνΈ
- β νΉμ ν€μλ λλ μ€λ₯ ν¨ν΄ κ°μ§
- β μ€μκ° λ‘κ·Έ λΆμ & μλ¦Ό
- β μμΈμν© κΈ°λ‘ μ μ₯ κΈ°λ₯ ν¬ν¨
μμ μ€ν¬λ¦½νΈ
bash
#!/bin/bash
λ‘κ·Έ κ²μ λ° μλ¦Ό μλν π
TAIL_LOG="/var/log/nginx/error.log"
KEYWORDS=("error" "failed" "timeout")
EMAIL="admin@yourdomain.com"
for KEY in "${KEYWORDS[@]}"; do
if grep -i "$KEY" "$TAIL_LOG" > /dev/null; then
echo "[κ²½κ³ ] nginx λ‘κ·Έμ '$KEY' λ°μ π¨" | mail -s "[μλ²κ²½κ³ ] λ‘κ·Έ μ΄μ" $EMAIL
fi
done
π― ν¬μΈνΈ
- β μ€μκ° λ¬Έμ κ°μ§ κ°λ₯
- β λΉ λ₯Έ λμμΌλ‘ μλ² μμ μ± ν₯μ
- β νμ μ λ μΈλ°ν λ‘κ·Έ λΆμλ κ°λ₯!
4. λμ€ν¬ κ³΅κ° μλ μ²μ & μ 리 μ€ν¬λ¦½νΈ π§ΉπΎ
λμ€ν¬ κ³΅κ° λΆμ‘±μ μλ² μ₯μ μ μ£Όλ²! π§
μλ μ 리 μ€ν¬λ¦½νΈλ‘ νμ κ΄λ¦¬νλ μ΅κ΄μ λ€μ΄μΈμ!
μ€μ κΈ°λ₯
- β μμνμΌ, λ‘κ·ΈνμΌ μλ μμ
- β μ€λλ λ°±μ νμΌ μμ
- β νΉμ λλ ν 리 μ 리
μ€μ μμ
bash
#!/bin/bash
λμ€ν¬ κ³΅κ° νλ³΄μ© μ²μ μ€ν¬λ¦½νΈ π§Ή
/var/log λλ ν 리 μ€λλ λ‘κ·Έ μμ
find /var/log -type f -name "*.gz" -mtime +7 -exec rm -f {} ;
μμ νμΌ μμ
rm -rf /tmp/*
echo "λμ€ν¬ μ 리 μλ£! π"
π λ§μμ λμλμ?
- β μ κΈ° μλ μ€νμΌλ‘ λμ€ν¬ κ±±μ λ!
- β μλ² μλͺ μ°μ₯!
5. μμ€ν λΆν ν μλ μ²΄ν¬ & μ μ μ€ν¬λ¦½νΈ βοΈπ§
μλ² μ²μ λΆν
ν κΈ°λ³Έ νκ²½ κ°μ 체ν¬λ νμ! π₯οΈ
μ΄ κ³Όμ μ μλννλ©΄ μ μν νκ²½ μ
μ
κ³Ό λμΌ μ‘°κ±΄ μ μ§κ° κ°λ₯ν΄μ.
ν΅μ¬ ν¬μΈνΈ
- β λ€νΈμν¬ μ°κ²° 체ν¬
- β νμ ν¨ν€μ§ μ€μΉ & μ λ°μ΄νΈ
- β μλΉμ€ λ±λ‘ & μμ νμΈ
μ€μ μ€ν¬λ¦½νΈ μμ
bash
#!/bin/bash
μλ² λΆν μ§ν νκ²½ μ²΄ν¬ λ° μλ μ μ π
λ€νΈμν¬ μ²΄ν¬
ping -c 3 google.com > /dev/null
if [ $? -ne 0 ]; then
echo "λ€νΈμν¬ μ°κ²° μ€ν¨! λ€μ νμΈνμΈμ." >&2
exit 1
fi
νμ ν¨ν€μ§ μ€μΉ
yum install -y epel-release nginx mysql-server
μλΉμ€ νμ±ν
systemctl enable nginx
systemctl start nginx
echo "μ΄κΈ° μΈν μλ£! π"
π μμ½
- β μλ² νκ²½ μΌκ΄μ± μ μ§
- β μ΄κΈ° λ¬Έμ μλ°© κ°λ₯
6. λ°±μ μν μλ κ²μ¬ λ° λ³΄κ³ μ λ°μ‘ π₯π
λ°μ΄ν° λ°±μ
μ ‘μ λ μμ΄λ²λ¦¬μ§ μλ’ ν΅μ¬! π©
μλμΌλ‘ λ°±μ
μ±κ³΅ μ¬λΆλ₯Ό μ κ²νκ³ , λ³΄κ³ μλ₯Ό 보λ΄μ£Όλ κ² μ μμ
λλ€!
μΆμ² ν¬μΈνΈ
- β λ°±μ μ€ν¬λ¦½νΈμ μν μ²΄ν¬ λ΄μ₯
- β μ κΈ° λ³΄κ³ μ μμ± ν μ΄λ©μΌ λλ μ¬λ μ μ‘
- β μ€ν¨ μ μλ μ¬μλ λλ μλ¦Ό
λ°±μ
κ²μ¦ μμ
bash
#!/bin/bash
λ°±μ μ±κ³΅ μ¬λΆ κ²μ¬ & 리ν¬νΈ λ°μ‘ π
BACKUP_LOG="/backup/backup.log"
REPORT="/backup/report_$(date +%Y%m%d).txt"
if grep "SUCCESS" "$BACKUP_LOG"; then
echo "λ°±μ
μ±κ³΅! π" > "$REPORT"
else
echo "λ°±μ
μ€ν¨! μ¦μ νμΈ νμ β οΈ" > "$REPORT"
fi
mail -s "[λ°±μ λ³΄κ³ μ]" admin@yourdomain.com < "$REPORT"
π ν΅μ¬
- β λ°μ΄ν° μμ μ μν μΌμ μ κ²!
- β λ¬Έμ μ΄κΈ°μ λΉ λ₯Έ λμ²!
κ²°λ‘ β ν΅μ¬ μ 리 & μ€μ² κΆμ₯μ¬ν
π‘ μ€λ λ°°μ΄ 6κ°μ§ λͺ¨λν°λ§ μλν μ€ν¬λ¦½νΈλ₯Ό μ¦μ μ μ©ν΄λ³΄μΈμ!
1οΈβ£ μμ μ¬μ©λ μ²΄ν¬ π₯οΈ
2οΈβ£ μλΉμ€ μν κ²μ¦ βοΈ
3οΈβ£ λ‘κ·Έ μ΄μ κ°μ§ π
4οΈβ£ λμ€ν¬ μ 리 π§Ή
5οΈβ£ μμ ν νκ²½ μ²΄ν¬ π
6οΈβ£ λ°±μ
κ²μ¦ π₯
μ΄ 6κ°μ§ μ€ν¬λ¦½νΈλ§ μ λλ‘ νμ©ν΄λ μλ² μμ μ±κ³Ό μ΄μ ν¨μ¨μ΄ ν μ¬λΌκ°λλ€! ππ
μμΌλ‘ μλ² κ΄λ¦¬κ° λ μ΄μ 머리 μν μΌμ΄ μλλΌ, λλΆμ ‘μλνμ λ¬μΈ’μ΄ λμ€ κ±°μμ! ππͺ
μμ μ΅κ΄μ΄ ν° μ°¨μ΄λ₯Ό λ§λ€μ΄λ
λλ€. μ§κΈ λ°λ‘ μμνμΈμ! ππ₯
νΉμ μ§λ¬Έμ΄ μμΌμλ©΄ μΈμ λ λκΈμ΄λ λ©μΌ μ£ΌμΈμ! ππ¨π»π©π»
κ·ΈλΌ λͺ¨λ μλ² λ§μΈ! ππ»π
μ΄μ κΈ λ³΄κΈ°!!
μμ΄ν°μΌλ‘ DSLRκΈ μ¬μ§ μ°λ νλ‘RAW νμ©λ² 7κ°μ§ μ¨κ²¨μ§ ν
π±μμ΄ν°μΌλ‘ DSLRκΈ μ¬μ§ μ°λ νλ‘RAW νμ©λ² 7κ°μ§ μ¨κ²¨μ§ νπμ¬λ¬λΆ, νΉμ μμ΄ν°μΌλ‘ μ°μ μ¬μ§μ΄ λ무 νλ²νκ² λκ»΄μ§ μ μμΌμ κ°μ? πΈβ¨ “μ΄ μ λλ©΄ μΆ©λΆνμ§ μμκΉ?” νλ©° λκΈ°
5.asmrbita.com