Shell Scripting چیست؟
نوشتن مجموعهای از دستورات Shell در یک فایل قابلاجرا برای خودکارسازی کارهای تکراری سرور — از Backup گرفتن تا Deploy کردن.
چرا مهم است؟
خیلی از کارهای زیرساختی (Backup، چرخش لاگ، Health Check دورهای) نیازی به یک برنامه کامل ندارند؛ یک اسکریپت Shell کوتاه و قابلاعتماد سریعتر نوشته و نگهداری میشود.
تعریف
Shell Script فایلی با پسوند .sh است که مجموعهای از دستورات Bash/Shell را بهترتیب اجرا میکند؛ با chmod +x script.sh قابلاجرا و مستقیم از خط فرمان یا Cron قابل فراخوانی است.
مثال: اسکریپت Backup ساده
#!/bin/bash
set -euo pipefail
BACKUP_DIR="/backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
pg_dump mydb > "$BACKUP_DIR/mydb_$TIMESTAMP.sql"
find "$BACKUP_DIR" -name "*.sql" -mtime +7 -delete
echo "بکاپ گرفته شد: mydb_$TIMESTAMP.sql"
نکات مهم
set -euo pipefailدر ابتدای هر اسکریپت جدی بگذارید: اسکریپت با اولین خطا متوقف میشود، بهجای ادامهدادن با حالت نامشخص.- خروجی و خطاها را Log کنید (
>> script.log 2>&1) تا بعداً قابل بررسی باشد.
اشتباه رایج
❌ نوشتن اسکریپت بدون بررسی مقدار بازگشتی دستورات حساس (مثل حذف فایل یا Migration دیتابیس) — بدون set -e، یک دستور شکستخورده بیصدا رد میشود و بقیه اسکریپت با فرض موفقیت آن ادامه پیدا میکند.
منبع و مطالعه بیشتر
خلاصه
Shell Script یعنی مجموعه دستورات Bash در یک فایل اجرایی برای خودکارسازی کارهای سرور. همیشه set -euo pipefail بگذارید و اسکریپت را با ShellCheck بررسی کنید. مرجع کامل: ابزار ShellCheck و devhints.io.
