Cron چیست؟
زمانبند استاندارد لینوکس برای اجرای خودکار دستورات یا اسکریپتها در بازههای زمانی مشخص — از Backup روزانه تا پاکسازی دورهای.
چرا مهم است؟
بسیاری از کارهای پسزمینه ساده (Backup، ارسال گزارش روزانه، پاکسازی فایل موقت) نیازی به یک Background Service کامل ندارند؛ یک Cron Job چند خطی کافی است.
تعریف
Cron یک Daemon است که فایل پیکربندی (crontab) را میخواند و بر اساس زمانبندی تعریفشده، دستورات را خودکار اجرا میکند.
نحو Crontab
# دقیقه ساعت روزماه ماه روزهفته دستور
0 2 * * * /usr/bin/bash /scripts/backup.sh
*/15 * * * * curl -s https://example.com/health > /dev/null
0 9 * * 1 /usr/bin/python3 /scripts/weekly_report.py
خط اول هر روز ساعت ۲ بامداد Backup میگیرد؛ خط دوم هر ۱۵ دقیقه یک Health Check میزند؛ خط سوم هر دوشنبه ساعت ۹ گزارش هفتگی میفرستد.
مدیریت Crontab
crontab -e # ویرایش کرونتب کاربر جاری
crontab -l # نمایش کارهای زمانبندیشده
اشتباه رایج
❌ فرض کردن که Cron همان متغیرهای محیطی (PATH، …) شل تعاملی شما را دارد — Cron با محیط محدودتری اجرا میشود؛ همیشه در اسکریپت از مسیر کامل دستورات (/usr/bin/python3) استفاده کنید و خروجی را لاگ بگیرید (>> /var/log/myjob.log 2>&1).
منبع و مطالعه بیشتر
خلاصه
Cron دستورات را طبق زمانبندی تعریفشده در crontab خودکار اجرا میکند. همیشه مسیر کامل دستورات را بنویسید و خروجی را لاگ بگیرید، چون محیط Cron محدودتر از شل تعاملی است. مرجع کامل: crontab.guru برای تست زمانبندی و مستندات man7.org.
