کرون

انتخاب و خرید پروکسی

Cron یک سرویس زمانبندی کار مبتنی بر زمان است که در سیستم عامل های مشابه یونیکس یافت می شود. کاربران کارها (دستورها یا اسکریپت ها) را برنامه ریزی می کنند تا به صورت دوره ای در زمان ها، تاریخ ها یا فواصل زمانی ثابت اجرا شوند.

منشاء و تاریخچه اولیه کرون

اولین پیاده سازی cron به نسخه 7 یونیکس برمی گردد. اصطلاح "cron" از کلمه یونانی به معنی "chronos" گرفته شده است. این نسخه از یونیکس که در سال 1979 منتشر شد، دارای یک برنامه ساده cron بود که وظایف را در فواصل زمانی مشخص اجرا می کرد. عملکرد کرون بعداً توسط پل ویکسی در سال 1987 گسترش یافت. این نسخه که به عنوان Vixie Cron شناخته می‌شود، نسخه‌ای است که امروزه بیشتر نصب می‌شود و نسخه‌ای است که معمولاً زمانی که افراد «Cron» را ذکر می‌کنند به آن اشاره می‌شود.

بسط مفهوم کرون

Cron به کاربران اجازه می‌دهد تا تعمیر و نگهداری یا مدیریت سیستم را خودکار کنند - اگرچه ماهیت عمومی آن باعث می‌شود برای مواردی مانند دانلود فایل‌ها از اینترنت و بارگیری ایمیل در فواصل زمانی منظم مفید باشد. یک محیط cron مانند یک جعبه شنی است که در آن کارهای cron از محیط معمولی پوسته خارج می شوند.

هر کاربر می‌تواند crontab خود را داشته باشد، و اگرچه این فایل‌ها در /var/spool/ هستند، اما قرار نیست مستقیماً ویرایش شوند. نحو عبارات cron را می توان به دو نوع نحو اصلی تقسیم کرد: نحو cron یونیکس، و نحو پیچیده تر که به عنوان نحو عبارت cron یا نحو cron کوارتز شناخته می شود.

ساختار داخلی کرون و نحوه عملکرد آن

Cron بر اساس یک فایل پیکربندی ساده و در عین حال قدرتمند به نام فایل "crontab" عمل می کند. این فایل حاوی یک خط برای هر وظیفه ای است که باید اجرا شود، که از پنج فیلد زمان و تاریخ تشکیل شده است و به دنبال آن دستوری برای اجرا در زمان های مشخص وجود دارد.

پنج فیلد نشان دهنده:

  1. دقیقه بعد از ساعت (0 - 59)
  2. ساعت در روز (0 تا 23)
  3. روزهای در ماه (1 تا 31)
  4. ماه ها در سال (1 تا 12)
  5. روزهای هفته (0 تا 7، جایی که 0 و 7 یکشنبه هستند)

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

ویژگی های کلیدی Cron

ویژگی های اصلی Cron عبارتند از:

  1. این اجازه می دهد تا وظایف به طور خودکار در پس زمینه در فواصل زمانی منظم اجرا شوند.
  2. این یک پلت فرم منعطف برای برنامه ریزی وظایف (اسکریپت ها یا دستورات) با واحدهای زمانی مختلف فراهم می کند.
  3. هر کاربر می تواند فایل crontab خود را داشته باشد.
  4. کارهای کرون را می توان بر اساس دقیقه، ساعت، روز هفته، روز ماه و ماه سال برنامه ریزی کرد.
  5. Cron یک راه ساده و موثر برای خودکارسازی وظایف مختلف سیستم ارائه می دهد.

انواع کرون

مشاغل کرون را می توان به طور کلی به صورت زیر دسته بندی کرد:

تایپ کنید شرح
راه اندازی مجدد در هنگام راه اندازی یک بار اجرا می شود.
آناکرون در فواصل زمانی مشخص شده در روز اجرا می شود.
سیستم کرون ذخیره شده در /etc/crontab و در فهرست /etc/cron.d/، در نظر گرفته شده است که در سراسر سیستم باشند.
کاربر Cron هر کاربر می تواند خود را داشته باشد و در /var/spool/cron/crontabs/ ذخیره می شود.

استفاده از کرون، مشکلات و راه حل های آنها

Cron برای خودکار کردن وظایف مفید است، اما اگر با دقت استفاده نشود می تواند منجر به مشکلات شود. به عنوان مثال، پیکربندی نادرست cron job می تواند منجر به استفاده زیاد از CPU شود. همچنین، cron تنها خروجی کارهای خود را، در صورت وجود، برای کاربری که کارها را به عنوان آن اجرا می کند، ایمیل می کند. این می تواند باعث خطاهای از دست رفته در صورت عدم بررسی منظم شود.

راه حل های رایج برای این مسائل عبارتند از:

  • بررسی مرتب استفاده زیاد از CPU و پیکربندی مجدد یا توقف کارهای غیر ضروری.
  • اطمینان حاصل کنید که همه دستورات و اسکریپت ها به درستی اجرا می شوند قبل از اینکه آنها را به عنوان Cron jobs تنظیم کنید.
  • تغییر مسیر خروجی به یک logfile یا راه‌اندازی یک سرور ایمیل برای نظارت مؤثرتر بر کارهای cron.

مقایسه با ابزارهای مشابه

زمان‌بندی‌های دیگری شبیه به cron وجود دارند، مانند تایمرهای anacron و systemd. تفاوت های اولیه بین اینها را می توان به شرح زیر خلاصه کرد:

ابزار شرح
کرون مناسب برای کارهایی که در ساعات مشخصی از روز اجرا می شوند. کارهای از دست رفته را اجرا نمی کند.
آناکرون مناسب برای کارهایی که یک بار در روز / هفتگی / ماهانه اجرا می شوند. وقتی دستگاه دوباره آنلاین شود، کارهای از دست رفته را اجرا می کند.
سیستم شده مناسب برای سناریوهای پیچیده تر زیرا گزینه های بیشتری را ارائه می دهد و به خوبی با توزیع های لینوکس مدرن ادغام می شود.

چشم انداز آینده و فناوری های مرتبط

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

گرایش اخیر به سمت برنامه های کاربردی کانتینری و معماری میکروسرویس ها نیز راه های جدیدی را برای استفاده از کرون به ارمغان آورده است. به عنوان مثال، Kubernetes، یک پلت فرم ارکستراسیون کانتینر محبوب، دارای ویژگی معروف به CronJobs است که شبیه به Cron در سیستم‌های مبتنی بر یونیکس است.

سرورهای پروکسی و کرون

سرورهای پروکسی را می توان به طور موثر در ترکیب با Cron برای خودکارسازی وظایف خاص استفاده کرد. به عنوان مثال، اگر اسکریپتی دارید که نیاز به دسترسی منظم به یک وب سایت یا API از طریق یک سرور پراکسی دارد، می توانید یک کار cron را برای اجرای آن اسکریپت در فواصل زمانی مشخص تنظیم کنید.

Cron همچنین می تواند برای چرخاندن پراکسی ها در فواصل زمانی مشخص استفاده شود و احتمال مسدود شدن هر پراکسی منفرد را کاهش دهد. به عنوان مثال، خدمات پروکسی OneProxy را می توان با Cron برای کارهایی مانند جمع کردن داده ها، خودکارسازی وظایف رسانه های اجتماعی و موارد دیگر خودکار کرد.

لینک های مربوطه

برای اطلاعات بیشتر در مورد کرون، منابع زیر را در نظر بگیرید:

سوالات متداول در مورد کرون: راهنمای جامع

کرون یک سرویس زمان‌بندی کار مبتنی بر زمان است که در سیستم‌عامل‌های شبه یونیکس یافت می‌شود و به کاربران اجازه می‌دهد تا وظایف را به صورت دوره‌ای در زمان‌ها، تاریخ‌ها یا فواصل زمانی مشخص، خودکار کنند.

اولین پیاده‌سازی Cron به نسخه 7 یونیکس برمی‌گردد که در سال 1979 منتشر شد. اصطلاح "cron" از کلمه یونانی به معنی "chronos" گرفته شده است. عملکرد کرون بعداً توسط پل ویکسی در سال 1987 گسترش یافت و امروزه به این نسخه معمولاً "Cron" می گویند.

Cron از طریق یک فایل پیکربندی معروف به فایل "crontab" عمل می کند. این فایل شامل یک خط برای هر وظیفه ای است که باید اجرا شود، شامل پنج فیلد زمان و تاریخ و به دنبال آن دستوری که در زمان های مشخص شده اجرا می شود.

Cron به وظایف اجازه می دهد تا به طور خودکار در پس زمینه در فواصل زمانی منظم اجرا شوند. این یک پلت فرم منعطف برای برنامه ریزی وظایف با واحدهای مختلف زمانی فراهم می کند. هر کاربر می تواند فایل crontab خود را داشته باشد و کارهای Cron را می توان بر اساس دقیقه، ساعت، روز هفته، روز ماه و ماه سال برنامه ریزی کرد.

کارهای کرون را می توان به طور کلی به عنوان راه اندازی مجدد، آناکرون، سیستم کرون و کاربر کرون طبقه بندی کرد.

مشکلات رایج در استفاده از Cron عبارتند از استفاده زیاد از CPU و خطاهای نادیده گرفته شده به دلیل ارسال ایمیل توسط Cron به خروجی کارهای خود. این مشکلات را می‌توان با بررسی منظم استفاده از CPU، اطمینان از اجرای صحیح دستورات و اسکریپت‌ها قبل از تنظیم کردن آنها به‌عنوان cron job، و راه‌اندازی یک سرور ایمیل یا هدایت خروجی به یک logfile برای نظارت مؤثرتر کاهش داد.

Cron برای کارهایی که در زمان‌های خاص اجرا می‌شوند مناسب است و کارهای از دست رفته را اجرا نمی‌کند. در مقابل، Anacron برای کارهایی مناسب است که یک بار در روز/هفتگی/ماهانه اجرا شوند و زمانی که دستگاه دوباره آنلاین شود، کارهای از دست رفته را اجرا می کند. Systemd گزینه های بیشتری را ارائه می دهد و به خوبی با توزیع های لینوکس مدرن ادغام می شود و آن را برای سناریوهای پیچیده تر مناسب می کند.

همانطور که سیستم های مبتنی بر یونیکس تکامل می یابند، کرون نیز تکامل می یابد. گرایش به سمت برنامه های کاربردی کانتینری و معماری های میکروسرویس راه های جدیدی را برای استفاده از کرون معرفی کرده است، مانند ویژگی Kubernetes که به نام CronJobs شناخته می شود.

سرورهای پروکسی را می توان با Cron برای خودکارسازی وظایف، مانند دسترسی به یک وب سایت یا API از طریق یک سرور پراکسی در فواصل زمانی مشخص، استفاده کرد. Cron همچنین می‌تواند برای چرخاندن پراکسی‌ها در فواصل زمانی استفاده شود و احتمال مسدود شدن هر پراکسی را کاهش دهد.

پراکسی های مرکز داده
پراکسی های مشترک

تعداد زیادی سرور پروکسی قابل اعتماد و سریع.

شروع در$0.06 در هر IP
پراکسی های چرخشی
پراکسی های چرخشی

پراکسی های چرخشی نامحدود با مدل پرداخت به ازای درخواست.

شروع در$0.0001 در هر درخواست
پراکسی های خصوصی
پراکسی های UDP

پروکسی هایی با پشتیبانی UDP

شروع در$0.4 در هر IP
پراکسی های خصوصی
پراکسی های خصوصی

پروکسی های اختصاصی برای استفاده فردی.

شروع در$5 در هر IP
پراکسی های نامحدود
پراکسی های نامحدود

سرورهای پروکسی با ترافیک نامحدود.

شروع در$0.06 در هر IP
در حال حاضر آماده استفاده از سرورهای پراکسی ما هستید؟
از $0.06 در هر IP