صبر کنید...
مرکز آموزش میلاد سرور

زمان‌بندی کارها با cron؛ بکاپ و اسکریپت‌های تکرارشونده

تصویر آموزشی زمان‌بندی کارها با cron؛ بکاپ و اسکریپت‌های تکرارشونده
راهنمای تصویری و مرحله‌به‌مرحله میلاد سرور

cron ساده‌ترین راه اجرای منظم بکاپ، پاکسازی و اسکریپت‌های نگهداری است؛ در این مقاله toman و لاگ آن را تنظیم می‌کنید.

آخرین به‌روزرسانی: ۲۸ مهر ۱۴۰۵ · زمان مطالعه: حدود 3 دقیقه · سطح: کاربردی

در این آموزش چه یاد می‌گیرید؟
  • زمان‌بندی کارها با cron؛ بکاپ و اسکریپت‌های تکرارشونده
  • با crontab -e یک زمان‌بندی بسازید
  • برای زمان‌بندی‌های پیچیده systemd timer بسازید

چرا این موضوع مهم است؟

موضوع Linux یکی از پایه‌های نگهداری سرور است. رعایت آن باعث پایداری بیشتر، کاهش ریسک امنیتی و صرفه‌جویی در زمان پشتیبانی می‌شود.

این راهنما با فرض دسترسی مدیریتی (root یا sudo) نوشته شده و مراحل آن روی یک سرور تازه آزمایش شده است.

پیش‌نیازها

  • دسترسی SSH با کاربر root یا کاربر دارای sudo
  • Ubuntu 22.04/24.04 یا Debian 12 (سازگاری با توزیع‌های مشابه)
  • نسخه پشتیبان از فایل‌ها و دیتابیس‌های مهم

راهنمای گام‌به‌گام

گام 1 — با crontab -e یک زمان‌بندی بسازید

با crontab -e یک زمان‌بندی بسازید. اگر روی چند سرور کار می‌کنید، این مورد را یک‌بار روی محیط تست اجرا و سپس روی تولید اعمال کنید.

گام 2 — خروجی اسکریپت را به فایل لاگ هدایت کنید

خروجی اسکریپت را به فایل لاگ هدایت کنید. مقدارهای نمونه را با اطلاعات واقعی سرور خود جایگزین کنید و از اجرای دستور با مقادیر پیش‌فرض پرهیز کنید.

گام 3 — مسیر مطلق فایل‌ها را استفاده کنید

مسیر مطلق فایل‌ها را استفاده کنید. برای اطمینان، نتیجه را از یک مسیر دوم (مرورگر، کلاینت یا ابزار مانیتورینگ) هم بررسی کنید.

گام 4 — متغیرهای محیطی لازم را در cron تعریف کنید

متغیرهای محیطی لازم را در cron تعریف کنید. این کار را در بازه کم‌ترافیک انجام دهید و در صورت نیاز کاربران را از قبل مطلع کنید.

گام 5 — بعد از ذخیره خروجی را بررسی کنید

بعد از ذخیره خروجی را بررسی کنید. این مرحله را با دقت انجام دهید و خروجی دستور را بررسی کنید تا از اعمال درست تغییرات مطمئن شوید.

گام 6 — برای زمان‌بندی‌های پیچیده systemd timer بسازید

برای زمان‌بندی‌های پیچیده systemd timer بسازید. پس از اجرا، وضعیت سرویس و لاگ‌ها را کنترل کنید؛ تغییر بدون بررسی می‌تواند خطای پنهان ایجاد کند.

نمودار مراحل زمان‌بندی کارها با cron؛ بکاپ و اسکریپت‌های تکرارشونده
شش گام اصلی این آموزش در یک نگاه

نمونه دستورها

نمونه دستورهای زمان‌بندی کارها با cron؛ بکاپ و اسکریپت‌های تکرارشونده
دستورهای پیشنهادی؛ مقادیر نمونه را با اطلاعات سرور خود جایگزین کنید.
crontab -e
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
crontab -l

نکات امنیتی و بهینه‌سازی

  • پیش از هر تغییر بزرگ، نسخه پشتیبان قابل بازیابی تهیه کنید و بازیابی را تست کنید.
  • نسخه پکیج‌ها و سیستم‌عامل را به‌روز نگه دارید؛ بسیاری از نفوذها از نسخه‌های قدیمی شروع می‌شوند.
  • دسترسی‌ها را حداقلی نگه دارید و فقط پورت‌ها و کاربران لازم را باز بگذارید.

خطاهای رایج و راه‌حل

  • اگر تغییرات اعمال نشد، کش مرورگر/برنامه و نیاز به reload یا restart را بررسی کنید.
  • اگر مطمئن نیستید، تغییر را در محیط تست تکرار کنید و لاگ کامل را برای پشتیبانی بفرستید.
  • اگر تغییرات اعمال نشد، کش مرورگر/برنامه و نیاز به reload یا restart را بررسی کنید.
نکته طلایی: cron با حداقل محیط اجرا می‌شود؛ PATH و متغیرهای لازم را داخل اسکریپت تعریف کنید، نه در پروفایل کاربر.

سؤالات متداول

چطور بفهمم cron اجرا شده است؟

لاگ /var/log/syslog یا فایل خروجی خود اسکریپت را ببینید.

آیا cron در WHMCS هم استفاده می‌شود؟

بله، WHMCS برای صورتحساب و یادآوری‌ها به cron یا systemd timer نیاز دارد.

سرور مناسب نیازتان را انتخاب کنید

میلاد سرور پلن‌های اقتصادی سرور مجازی ایران و سرور مجازی آلمان را با آی‌پی اختصاصی و قیمت شفاف ارائه می‌کند. برای مقایسه همه کشورها فهرست کامل سرورهای بین‌الملل را ببینید.

جمع‌بندی

با رعایت این مراحل، سرویس شما پایدارتر و امن‌تر خواهد بود؛ اما پایش منظم را فراموش نکنید.

این آموزش برای شما مفید بود؟نظر شما به بهتر شدن آموزش‌ها کمک می‌کند.
اشتراک‌گذاری:تلگرامواتساپX