پرش به محتوا
نوین هاست
  • سرور مجازی
  • درباره ما
  • تماس با ما
  • بازارچه
  • دانشنامه
نوین هاست
  • سرور مجازی
    • برگشت
    • سرور مجازی ایران
      • برگشت
      • سرور مجازی برج میلاد
      • سرور مجازی زیرساخت
    • سرور مجازی اروپا
      • برگشت
      • سرور مجازی المان
      • سرور مجازی انگلیس
      • سرور مجازی فرانسه
      • سرور مجازی اتریش
      • سرور مجازی هلند
      • سرور مجازی بلغارستان
      • سرور مجازی مجارستان
      • سرور مجازی دانمارک
      • سرور مجازی سوئد
      • سرور مجازی جزیره من
      • سرور مجازی جمهوری چک
      • سرور مجازی ایتالیا
      • سرور مجازی فنلاند
      • سرور مجازی یونان
      • سرور مجازی سوئیس
      • سرور مجازی ایسلند
      • سرور مجازی کرواسی
      • سرور مجازی اسپانیا
    • سرور مجازی آسیا
      • برگشت
      • سرور مجازی ترکیه
      • سرور مجازی سنگاپور
      • سرور مجازی مالزی
      • سرور مجازی شیلی
      • سرور مجازی هنگ کنگ
      • سرور مجازی امارات
      • سرور مجازی ژاپن
      • سرور مجازی روسیه
    • سرور مجازی آمریکا
      • برگشت
      • سرور مجازی امریکا
      • سرور مجازی کانادا
    • سایر VPS ها
      • برگشت
      • سرور مجازی استرالیا
      • سرور مجازی رایگان
      • سرور مجازی اقتصادی
      • سرور مجازی ترید و بایننس
      • سرور مجازی با کارت گرافیک
      • سرور مجازی نیجریه
      • سرور مجازی بورس
      • سرور مجازی کلاس آنلاین
      • سرور مجازی کاهش پینگ
      • سرور مجازی والتر
      • سرور مجازی فارکس
      • سرور مجازی میکروتیک
      • سرور مجازی NVME
  • سرور اختصاصی
    • برگشت
    • سرور اختصاصی ایران
      • برگشت
      • سرور اختصاصی برج میلاد
      • سرور اختصاصی زیرساخت
    • سرور اختصاصی اروپا
      • برگشت
      • سرور اختصاصی آلمان
      • سرور اختصاصی ترکیه
      • سرور اختصاصی فنلاند
      • سرور اختصاصی هلند
      • سرور اختصاصی انگلیس
      • سرور اختصاصی فرانسه
    • سرور اختصاصی آمریکا
      • برگشت
      • سرور اختصاصی آمریکا
      • سرور اختصاصی کانادا
    • کولوکیشن
      • برگشت
      • آسیاتک
      • زیرساخت
  • هاست
    • برگشت
    • هاست دانلود
    • هاست نامحدود
    • هاست وردپرس
    • هاست ویندوز ایران
  • نوین پلاس +
  • پنل کاربری ارتباط با ما
  • سرور مجازی
  • سرور مجازی ایرانسرور مجازی حرفه ای از ایران
  • سرور مجازی اروپاپایداری و کیفیت ، سرعت بالا
  • سرور مجازی آسیاوب سرور لایت اسپید و امنیت و سرعت بالا
  • سایر VPS هابهینه برای فروشگاه های وردپرسی
  • سرور مجازی زیرساخت
    • سرور مجازی برج میلاد
  • سرور مجازی المان
    • سرور مجازی فرانسه
    • سرور مجازی سوئد
    • سرور مجازی اتریش
    • سرور مجازی اسپانیا
    • سرور مجازی انگلیس
    • سرور مجازی ایتالیا
    • سرور مجازی ایسلند
    • سرور مجازی بلغارستان
    • سرور مجازی سوئیس
    • سرور مجازی جزیره من
    • سرور مجازی جمهوری چک
    • سرور مجازی فنلاند
    • سرور مجازی دانمارک
    • سرور مجازی مجارستان
    • سرور مجازی هلند
    • سرور مجازی یونان
  • سرور مجازی شیلی
    • سرور مجازی روسیه
    • سرور مجازی ترکیه
    • سرور مجازی مالزی
    • سرور مجازی ژاپن
    • سرور مجازی سنگاپور
    • سرور مجازی هنگ کنگ
    • سرور مجازی امارات
  • سرور مجازی کانادا
    • سرور مجازی امریکا
    • سرور مجازی نیجریه
    • سرور مجازی استرالیا
    • سرور مجازی NVME
    • سرور مجازی با کارت گرافیک
    • سرور مجازی رایگان
    • سرور مجازی ترید و بایننس
    • سرور مجازی فارکس
    • سرور مجازی کلاس آنلاین
    • سرور مجازی میکروتیک
    • سرور مجازی والتر
    • سرور مجازی NVME
    • سرور مجازی اقتصادی
  • سرور اختصاصی
  • سرور اختصاصی ایرانمنابع کاملا اختصاصی و قدرتمند
  • سرور اختصاصی اروپابا ip اختصاصی از بهترین کشور ها
  • سرور اختصاصی آمریکاup time 99.99%
  • سایر VDS ها
  • برج میلاد
    • زیرساخت
  • سرور اختصاصی آلمان
    • سرور اختصاصی انگلیس
    • سرور اختصاصی ترکیه
    • سرور اختصاصی فرانسه
    • سرور اختصاصی فنلاند
    • سرور اختصاصی هلند
  • سرور اختصاصی آمریکا
    • سرور اختصاصی کانادا
  • کولوکیشن
  • آسیاتک
  • زیرساخت
  • هاست
  • دامنه
  • نوین پلاس +
021-49624 ورود / عضویت
لینوکس

راهنمای لینوکس

70
  • اجرای دستورات لینوکس در ویندوز
  • راه اندازی سایت در سرور لینوکس
  • IP شناور در اوبونتو و دبیان
  • بازیابی رمز root
  • آموزش بکاپ از سرور لینوکس
  • آموزش اجرای دستور از راه دور
  • ایجاد یوزر در لینوکس
  • تفاوت ipv4 با ipv6 چیست
  • دستور tar لینوکس
  • کانفیگ IPv6 در لینوکس
  • بکاپ گیری از سرور لینوکس
  • راه اندازی سایت در سرور
  • نصب فایروال در لینوکس
  • لیست کردن کاربران در لینوکس
  • پارتیشن بندی در لینوکس
  • بش bash چیست؟
  • آموزش تغییر نام فایل در لینوکس
  • آموزش نصب آلمالینوکس
  • آلمالینوکس
    • تبدیل Centos به AlmaLinux
    • نصب Visual Studio Code در آلمالینوکس
    • نصب پایتون روی آلمالینوکس
    • نصب Node.js در AlmaLinux
  • دبیان
    • ارتقا دبیان
  • اوبونتو
    • نصب NextCloud در اوبونتو
    • فعال کردن SSH اوبونتو
    • نصب ماینکرافت روی اوبونتو
    • نصب کاساندرا Cassandra در اوبونتو
    • آموزش نصب اوبونتو
    • نصب Graylog در اوبونتو
    • نصب Redis در اوبونتو
    • نصب Maven در اوبونتو
    • نصب تامکت در اوبونتو
    • آموزش نصب Ghost CMS در ubuntu
    • نصب GitLab در اوبونتو
    • نصب GCC در اوبونتو
    • نصب جاوا در اوبونتو
    • نصب و راه اندازی Bind DNS Server اوبونتو
    • نصب جنکینز در اوبونتو
    • نصب وردپرس در اوبونتو
    • نصب Oh My Zsh در اوبونتو
    • نصب پرومتئوس در اوبونتو
    • نصب Kubectl در اوبونتو
    • نصب PyTorch در اوبونتو
    • حذف داکر در اوبونتو
    • نصب آناکوندا
    • آموزش نصب Wine
    • آموزش نصب آپاچی کافکا
    • نصب Xrdp در اوبونتو
    • نصب وایرشارک در اوبونتو
    • آموزش نصب Go در اوبونتو
    • آموزش نصب MariaDB در اوبونتو
    • آموزش نصب Ansible
    • نصب درایور انویدیا در اوبونتو
    • آموزش نصب Hadoop
    • آموزش نصب Terraform
    • نصب و کانفیگ SSH در Ubuntu
    • نصب KVM در Ubuntu
    • نصب گوگل کروم در ubuntu
    • آموزش نصب گرافانا
    • چک کردن نسخه ubuntu
    • آموزش نصب phpMyAdmin در اوبونتو
    • آموزش نصب Postman
    • نصب داکر در اوبونتو
    • نصب Redis در اوبونتو
    • نصب MySQL در اوبونتو
    • نصب و کانفیگ آپاچی در اوبونتو
    • کران جاب در اوبونتو
    • ارتقا اوبونتو
    • نصب MongoDB در اوبونتو
    • نصب محیط گرافیکی در اوبونتو

تحقیق و توسعه

8
  • آموزش Portainer داکر
  • پاک کردن کش DNS
  • افزایش امنیت سرور
  • آموزش لود بالانسینگ
  • پیکربندی SSL در PostgreSQL
  • پایتون
    • ترکیب دو لیست در پایتون
    • تبدیل رشته به عدد در پایتون
    • معکوس کردن لیست در پایتون

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

4
  • رید (RAID) چیست؟
  • عمومی
    • ترافیک مورد نیاز سایت
    • SELinux چیست؟
    • محافظت در برابر حملات DDoS
View Categories
  • خانه
  • مستدات
  • راهنمای لینوکس
  • اوبونتو
  • کران جاب در اوبونتو

کران جاب در اوبونتو

زمان مطالعه: 7 دقیقه

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

کران چیست؟ #

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

پیش‌ نیازها #

برای دنبال کردن این راهنما، باید موارد زیر را داشته باشید:

  • دستگاهی که اوبونتو ۲۰.۰۴ روی آن نصب شده و دسترسی روت دارد.
  • تجربه اولیه خط فرمان لینوکس.

نصب Cron #

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

لیست بسته‌های محلی سیستم خود را به‌روزرسانی کنید:

sudo apt update

و جدیدترین نسخه cron را نصب کنید. اگر از قبل cron را نصب کرده‌اید، دستور زیر نیز آن را به آخرین نسخه به‌روزرسانی می‌کند:

sudo apt install cron

تبریک! اکنون آخرین نسخه Cron روی دستگاه شما نصب شده است.

درک نحوه کار کرون #

کارهای کرون، دستورات یا اسکریپت‌های شلی هستند که در فایل‌های crontab ارجاع داده می‌شوند. این فایل‌ها در حافظه بارگذاری شده و برای اقدامات از پیش تعیین‌شده‌ای که باید انجام شوند، نظارت می‌شوند. کرون هر دقیقه بیدار می‌شود تا تمام crontabهای ذخیره‌شده را بررسی کند و ببیند آیا دستوری باید در دقیقه فعلی اجرا شود یا خیر.

علاوه بر این، Cron زمان تغییر هر فایل crontab را در سیستم نظارت می‌کند. اگر هر crontab تغییر کرده باشد، به طور خودکار در حافظه بارگذاری مجدد می‌شود. به این ترتیب Cron هنگام ایجاد تغییر در crontab نیازی به راه‌اندازی مجدد ندارد.

💡 نکته حرفه‌ای: کرون فرض می‌کند که سیستم شما به طور مداوم ۲۴ ساعته و ۷ روز هفته در حال اجرا است، بنابراین برای سرورهایی که باید همیشه آنلاین باشند کاملاً مناسب است. با این حال، cronنمی‌تواند وظایفی را که برای زمانی برنامه‌ریزی شده‌اند که سیستم شما آفلاین بوده است، اجرا کند. از آنجایی که این ممکن است برای رایانه‌های رومیزی مشکل‌ساز باشد، anacronبه جای آن از کرون برای برنامه‌ریزی کارها در فواصل زمانی مشخص تا جایی که زمان روشن بودن دستگاه اجازه می‌دهد، استفاده کنید.

اولین کرون جاب خود را تنظیم کنید #

هر کار Cron باید در یک crontab مشخص شود – یک فایل پیکربندی که با نام جدول Cron نیز شناخته می‌شود. اولین crontab خود را با استفاده از crontabدستوری با گزینه‌ای -eکه مخفف ویرایش است، ایجاد کنید، اما برای نمونه‌سازی crontab نیز استفاده می‌شود:

crontab -e

کران جاب در اوبونتو
کران جاب در اوبونتو

اگر برای اولین بار است که crontab ایجاد می‌کنید، از شما خواسته می‌شود ویرایشگر متن پیش‌فرض خود را انتخاب کنید. ویرایشگر مورد نظر خود [۱ – ۴] را انتخاب کنید و ENTER را فشار دهید تا یک crontab جدید با ویرایشگر متن انتخابی شما باز شود. crontab تازه ایجاد شده با برخی از نظرات مفید پر شده است:

کران جاب در اوبونتو

 

حالا بیایید یک Cron job جدید به انتهای این فایل اضافه کنیم:

* * * * * echo “Hello World at $(date)” >> $HOME/greetings.txt

هر دقیقه این وظیفه Cron دستور را اجرا می‌کند echo “Hello World at $(date)” >> $HOME/greetings.txt. این دستور تاریخ فعلی را بازیابی می‌کند، آن را در رشته “Hello World […]” قرار می‌دهد و رشته را به فایل greetings.txt که در دایرکتوری خانگی شما قرار دارد، اضافه می‌کند. اگر هنوز وجود نداشته باشد، ایجاد خواهد شد.

فایل را ذخیره کرده و خارج شوید. چند دقیقه صبر کنید و فایل greetings.txt را که باید در دایرکتوری خانگی شما ایجاد شده و با داده‌های مرتبط پر شده باشد، بررسی کنید:

tail ~/greetings.txt

کران جاب در اوبونتو

همانطور که می‌بینید، کرون هر دقیقه وظیفه‌ی داده شده را اجرا می‌کند: زمان فعلی در رشته‌ی «Hello World […]» قرار داده شده و به انتهای فایل اضافه می‌شود.

سینتکس Cron Job را درک کنید #

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

سینتکس وظیفه Cron شامل ۶ آرگومان است که با فاصله از هم جدا شده‌اند. ۵ آرگومان اول زمان اجرا را توصیف می‌کنند، در حالی که آرگومان آخر یک دستور یا یک مسیر کامل به یک اسکریپت پوسته است که قرار است توسط پوسته پیش‌فرض اجرا شود:

[minute] [hour] [day of month] [month] [day of week] [command]

دستورات توسط Cron زمانی اجرا می‌شوند که فیلدهای دقیقه، ساعت و ماه با زمان فعلی مطابقت داشته باشند، و زمانی که حداقل یکی از فیلدهای روز – چه روز ماه و چه روز هفته – با زمان فعلی مطابقت داشته باشد. مقادیر مجاز عبارتند از:

میدان مقادیر مجاز
دقیقه ۰-۵۹
ساعت ۰-۲۳
روز ماه ۱-۳۱
ماه ۱-۱۲ (یا نام‌ها: ژانویه – دسامبر)
روز هفته ۰-۶ (یا نام‌ها: یکشنبه – شنبه)

همچنین برخی کاراکترهای ویژه وجود دارند که می‌توانید برای مشخص کردن زمان اجرا از آنها استفاده کنید:

مقدار فیلد ویژه توضیحات مثال
ستاره یک ستاره نشان دهنده هر مقدار مجاز (از اول تا آخر) است. * (هر ساعت، ماه و غیره اجرا شود)
محدوده یک محدوده شامل دو عدد است که با یک خط تیره از هم جدا شده‌اند. ۰-۵ (از ساعت ۰ تا ۵، ماه و غیره اجرا می‌شود)
فهرست یک لیست مجموعه‌ای از اعداد یا محدوده‌ها است که با کاما از هم جدا شده‌اند. ۰،۱،۲،۳،۴،۵ (از ساعت ۰ تا ۵، ماه و غیره اجرا می‌شود)
قدم یک گام (step) همراه با محدوده‌ها یا ستاره‌ها استفاده می‌شود. */۲ (هر ساعت، ماه و غیره اجرا شود)
نام می‌توان از یک نام در فیلدهای ماه یا روز هفته استفاده کرد. نام‌ها به حروف کوچک و بزرگ حساس نیستند. ژانویه، فوریه، مارس (هر ساله در ماه‌های ژانویه، فوریه و مارس برگزار می‌شود)
رشته ویژه به جای پنج آرگومان اول می‌توان از یک رشته خاص استفاده کرد. ‎@reboot، @weekly (هر بار در هنگام راه‌اندازی سیستم و یک بار در هفته اجرا می‌شود)

شما می‌توانید با استفاده از وب‌سایت crontab.guru با قوانین هدف‌گذاری زمان اجرا بازی کنید . این وب‌سایت جای بسیار خوبی برای تعمیق درک شما و بررسی مجدد این است که آیا زمان اجرا را درست تعریف کرده‌اید یا خیر.

💡 نکته حرفه‌ای: @reboot یک بار در هنگام راه‌اندازی cron daemon اجرا می‌شود. به دلیل ترتیب بوت دستگاه، ممکن است این اتفاق قبل از شروع برخی دیگر از daemonهای سیستم رخ دهد. این ممکن است باعث شود برخی از دستورات به درستی کار نکنند.

مدیریت فایل‌های پیکربندی Crontab #

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

مدیریت فایل‌های Crontab متعلق به کاربر #

کاربران فایل‌های crontab مخصوص به خود را دارند که در این spoolناحیه ذخیره می‌شوند و با نام حساب کاربری آنها نامگذاری شده‌اند. هر crontab به عنوان کاربری که مالک crontab است اجرا می‌شود. می‌توانید با فهرست کردن تمام فایل‌های موجود در دایرکتوری spool، فایل‌های crontab متعلق به کاربر را بررسی کنید:

ls /var/spool/cron/crontabs

کران جاب در اوبونتو

همانطور که می‌بینید، در حال حاضر ۳ فایل crontab برای کاربرانی با نام‌های root، user1و ایجاد شده است user2.

فایل‌های پیکربندی Crontab مربوط به هر کاربر نباید مستقیماً ویرایش شوند، بلکه باید با استفاده از دستور crontab این کار انجام شود. برنامه crontab بدون نیاز به دسترسی root، خود فایل crontab را تأیید و نصب می‌کند.

شما قبلاً از دستور crontab -e استفاده کرده‌اید که یک crontab جدید برای یک کاربر ایجاد می‌کند یا امکان ویرایش crontab موجود را فراهم می‌کند. می‌توانید با استفاده از دستور زیر، محتوای فایل crontab موجود خود را بررسی کنید:

crontab -l

کران جاب در اوبونتو

 

همانطور که می‌بینید، یک وظیفه فعال Cron وجود دارد که قبلاً اضافه کرده‌ایم.

اگر می‌خواهید فایل crontab خود را برای خاتمه دادن به تمام وظایف برنامه‌ریزی‌شده‌تان حذف کنید، از دستور زیر استفاده کنید:

crontab -r

مدیریت فایل‌های Crontab در سطح سیستم #

فایل‌های crontab در سطح سیستم، پس از نصب cron ایجاد می‌شوند و عمدتاً توسط سرویس‌های سیستمی مورد استفاده قرار می‌گیرند. بسته‌هایی مانند dpkg، sysstat و بسیاری دیگر به cron وابسته هستند و از آن برای زمان‌بندی وظایف خاص استفاده می‌کنند. در crontab یک سیستم، یک فیلد کاربر وجود دارد که برای اجرای وظایف داده شده استفاده می‌شود.

crontab های سیستم باید متعلق به root باشند و هیچ کاربر دیگری نمی‌تواند آنها را ویرایش کند. هیچ دستور crontab برای ویرایش این فایل‌ها وجود ندارد، بنابراین مدیر سیستم می‌تواند مستقیماً به آنها دسترسی داشته باشد. اکنون بیایید به crontab اصلی سیستم دسترسی پیدا کنیم:

vim /etc/crontab

کران جاب در اوبونتو

همانطور که می‌بینید، متغیرهای محیطیSHELL و را تعریف کرده‌ایم. همچنین چهار وظیفه Cron وجود دارد که مختص سیستم عامل‌های مبتنی بر دبیان هستند. این وظایف از ابزار run-parts برای اجرای تمام اسکریپت‌هایی که به ترتیب در ، ، ، به صورت ساعتی، روزانه، هفتگی و ماهانه قرار می‌گیرند، استفاده خواهند کرد.PATH cron.hourly/cron.daily/cron.weekly/cron.monthly/

هر اسکریپتی که در دایرکتوری‌های ذکر شده در بالا قرار دارد باید از تأیید بخش‌های اجرایی عبور کند. یک اسکریپت باید قابل اجرا باشد، متعلق به root باشد و توسط گروه یا دیگران قابل نوشتن نباشد. اکنون بیایید یک اسکریپت bash ساده ایجاد کنیم که قرار است قیمت بیت کوین را هر ساعت ثبت کند:

vim /etc/cron.hourly/get_bitcoin_price

#!/usr/bin/bash

result=$(curl https://api.coinbase.com/v2/prices/spot?currency=USD)
bitcoin_price=$(jq -r '.data.amount' <<< ${result})
echo "Bitcoin price is $bitcoin_price USD on $(date)" >> $HOME /bitcoin_prices.txt

اسکریپت ما از یک API کوین‌بیس پرس‌وجو می‌کند، اطلاعات قیمت بیت‌کوین را در قالب JSON دریافت می‌کند، آن را با برنامه jq تجزیه می‌کند تا قیمت را به صورت Cherry-Pick انتخاب کند و آن را به همراه تاریخ و زمان فعلی در فایل bitcoin_prices.txt در دایرکتوری home /root ثبت می‌کند.

اسکریپتی که در /etc/cron.daily/دایرکتوری قرار می‌دهید می‌تواند هر اسکریپتی باشد که دوست دارید به صورت ساعتی اجرا شود. فقط فراموش نکنید که مسیر پوسته مورد نظر خود را در بالا ( #!/usr/bin/bash) بنویسید و اسکریپت خود را قابل اجرا کنید:

chmod u+x /etc/cron.daily/get_bitcoin_price

شما می‌توانید اسکریپت خود را دوباره بررسی کنید تا مطمئن شوید که قابل اجرا است، متعلق به root است و برای گروه و دیگران قابل نوشتن نیست:

کران جاب در اوبونتو

به نظر می‌رسد اسکریپت ما به خوبی پیکربندی شده و آماده اجرا توسط Cron به صورت ساعتی است.

همچنین در سیستم‌های مبتنی بر دبیان یک دایرکتوری وجود دارد /etc/cron.d/. کرون با تمام فایل‌های موجود در این دایرکتوری مانند /etc/crontabفایل اصلی رفتار می‌کند، با این تفاوت که فایل‌های crontab که در /etc/cron.d/ قرار می‌گیرند، متغیرهای محیطی را بارگذاری نمی‌کنند. فقط در صورتی که به ایزوله‌سازی اضافی نیاز دارید، توصیه می‌شود فایل‌های crontab جداگانه‌ای در دایرکتوری /etc/cron.d/ ایجاد کنید.

مدیریت خروجی Cron #

خروجی کارهای cron – چه STDOUT و چه STDERR – به طور پیش‌فرض به طور خودکار به صندوق پستی محلی مالک crontab ارسال می‌شود. صندوق پستی هر کاربر یک فایل متنی استاندارد است که در دایرکتوری ذخیره می‌شود . در صورت نصب بسته /var/mail/، می‌توانید مستقیماً یا از طریق دستور mail به آن دسترسی داشته باشید .mailutils

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

MAILTO=john

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

MAILTO=john@gmail.com

البته، اگر از طریق شبکه اینترنت ایمیل ارسال می‌کنید ، باید نوعی سرور SMTP – Sendmail، Postfix و غیره – روی همان میزبان یا روی شبکه محلی خود داشته باشید.

مدیریت لاگ‌ های کرون #

لاگ‌های Cron /var/log/syslogبه طور پیش‌فرض در فایل لاگ سراسری ذخیره می‌شوند. اگر می‌خواهید فعالیت Cron خود را ببینید، فایل syslog را فیلتر کنید تا فعالیت سرویس CRON را پیدا کنید:

grep CRON /var/log/syslog

کران جاب در اوبونتو

فعالیت فایل Crontab نیز ثبت می‌شود. اگر می‌خواهید آن را ببینید، کافیست فایل syslog را به همین ترتیب فیلتر کنید:

grep crontab /var/log/syslog

کران جاب در اوبونتو

فیلتر کردن فایل لاگ سراسری هر بار خیلی راحت نیست. یک روش بهتر این است که ابزار rsyslog را طوری پیکربندی کنید که لاگ‌های cron را در یک فایل جداگانه کپی کند. برای انجام این کار، فایل زیر را ویرایش کنید:

vim /etc/rsyslog.d/50-default.conf

شما باید خط زیر را از حالت کامنت خارج کنید:

cron.* /var/log/cron.log

فایل را ذخیره کنید و rsyslogسرویس را مجدداً راه‌اندازی کنید تا پیکربندی اعمال شود:

systemctl restart rsyslog

بعد از مدتی باید یک cron.logفایل جدید ایجاد شده در /var/log/دایرکتوری را مشاهده کنید که گزارش‌های فعالیت Cron شما در آن قرار دارد:

cat /var/log/cron.log

کران جاب در اوبونتو

اگر پیکربندی syslog را تغییر نداده باشید، هر ورودی گزارش از یک الگوی استاندارد پیروی می‌کند:

[timestamp] [hostname] [app_name] [log_message]

برای مثال، می‌توانید ببینید که ردیف‌های گزارش از این الگو پیروی می‌کنند:

Jan 14 15:12:01 ubuntu-sandbox CRON[345431]: (root) CMD (echo "Hello World at $(date)" >> $HOME/greetings.txt)

بیایید این فیلدها را بررسی کنیم:

  • timestamp=Jan 14 15:12:01– تاریخ و زمان تولید پیام در سیستم را نشان داد.
  • hostname=ubuntu-sandbox– سیستمی را نشان می‌دهد که پیام را ارسال کرده است
  • app_name=CRON[345431]– نام و شناسه فرآیند برنامه‌ای که پیام را ارسال کرده است را نشان می‌دهد.
  • log_message=(root) CMD (echo “Hello World at $(date)” >> $HOME/greetings.txt)– عملی که انجام شده است. در این حالت CRON به ما اطلاع می‌دهد که cronjob کاربر root زیر اجرا شده است: echo “Hello World at $(date)” >> $HOME/greetings.txt.

💡 نکته حرفه‌ای: شما اطلاعات ثبت وقایع مربوط به اسکریپت‌هایی که در دایرکتوری‌ها اجرا شده‌اند را نخواهید دید /etc/cron.{hourly, daily, weekly, monthly}/، مگر اینکه آن اسکریپت‌ها صریحاً خروجی را به فایل cron.log هدایت کنند.

نظارت بر Cron Jobs با Cronitor #

ممکن است گشتن در لاگ‌های Cron شما دردسرساز باشد، مخصوصاً اگر صدها کار در سیستم شما در حال اجرا باشد. خوشبختانه، ابزارهای نظارت بر کارهای Cron در بازار موجود است که به شما کمک می‌کند کارهای cron خود را رصد کنید و به صورت بلادرنگ بینش کسب کنید.

یکی از این ابزارها Cronitor است که وضعیت، معیارها و خروجی هر کار Cron را ثبت می‌کند. با ابزارهایی مانند Cronitor می‌توانید به راحتی هر کار را نامگذاری و سازماندهی کنید، و همچنین مطمئن شوید که در صورت وقوع اتفاقی، به افراد مناسب هشدار داده می‌شود.

نظارت بر ۵ کرون جاب با Cronitor رایگان است و شروع به کار با آن آسان است. پس از نصب Cronitor CLI و پیکربندی کلید API خود، دستور زیر را اجرا کنید تا crontab های سیستم خود را برای همه کرون جاب های فعال اسکن کنید:

cronitor discover

از شما خواسته می‌شود که کارهای Cron خود را نامگذاری کنید و پس از اتمام کار، Cronitor بلافاصله شروع به نظارت بر آنها می‌کند. می‌توانید وضعیت کارهای Cron خود را بررسی کرده و هشدارها را در داشبورد Cronitor خود پیکربندی کنید:

کران جاب در اوبونتو

نتیجه‌ گیری #

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

Updated on مهر ۱۹, ۱۴۰۴

نظر شما چیست؟!

  • Happy
  • Normal
  • Sad

Related Docs

  • ارتقا اوبونتو

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
ارتقا اوبونتونصب و کانفیگ آپاچی در اوبونتو

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطلب
  • کران چیست؟
  • پیش‌ نیازها
  • نصب Cron
  • درک نحوه کار کرون
  • اولین کرون جاب خود را تنظیم کنید
  • سینتکس Cron Job را درک کنید
  • مدیریت فایل‌های پیکربندی Crontab
    • مدیریت فایل‌های Crontab متعلق به کاربر
    • مدیریت فایل‌های Crontab در سطح سیستم
  • مدیریت خروجی Cron
  • مدیریت لاگ‌ های کرون
  • نظارت بر Cron Jobs با Cronitor
  • نتیجه‌ گیری
نوین هاست

نوین هاست ارائه دهنده خدمات میزبانی، فروش انواع سرورهای مجازی و اختصاصی ایران و خارج برترین لوکیشن ها و استفاده از بهترین سخت افزارها با پشتیبانی 7/24

نماد اعتماد نوین هاست
لوگو ساماندهی
نظام صنفی رایانه ای کشور
دانش بنیان

دسترسی سریع

  • سرور مجازی
  • سرور مجازی ایران
  • سرور اختصاصی
  • هاست اشتراکی
  • ثبت دامنه
  • درباره ما
  • قوانین سرویس دهی

سرورهای مجازی

  • سرور مجازی المان
  • سرور مجازی فرانسه
  • سرور مجازی انگلیس
  • سرور مجازی امریکا
  • سرور مجازی کانادا
  • سرور مجازی فنلاند
  • سرور مجازی هلند

سرورهای اختصاصی

  • سرور اختصاصی ایران
  • سرور اختصاصی برج میلاد
  • سرور اختصاصی زیرساخت
  • سرور اختصاصی خارج
  • سرور اختصاصی آلمان
  • سرور اختصاصی فرانسه
  • سرور اختصاصی آمریکا
تمام حقوق این سایت محفوظ و متعلق به نوین هاست می باشد.
Facebook Twitter Youtube Whatsapp Instagram Telegram