برنامه ریزی شغلی در RHEL – cron و در توضیح داده شده با مثال
اجرای کارآمد وظایف در زمان های تعیین شده یا در پاسخ به رویدادهای خاص در فرآیند برنامه ریزی شغلی RHEL ضروری است. با کمک ابزارها و ابزارهای مختلف، می توانید به راحتی برنامه ریزی کار را هماهنگ و خودکار کنید و نیازی به مداخله دستی نداشته باشید.
برخی از ابزارهای رایج برای برنامه ریزی شغلی در RHEL عبارتند از:
cron: یک زمانبندی کار مبتنی بر زمان در سیستم عامل های مشابه یونیکس. کاربران میتوانند با ایجاد ورودیهایی در فایل crontab، وظایف تکراری را برنامهریزی کنند و مشخص کنند این کارها چه زمانی و چند بار باید اجرا شوند.
در: دستور at
به کاربران اجازه می دهد تا کارهای یک بار مصرف را برای اجرای در زمان مشخصی در آینده برنامه ریزی کنند.
فهرست مطالب
در اینجا چیزی است که ما در این راهنمای جامع پوشش خواهیم داد:
دیو چیست ؟
برنامه ریزی کار با استفاده از crontab
دیمون چیست؟
در Red Hat Enterprise Linux (RHEL) و دیگر سیستمعاملهای شبه یونیکس، یک «دیمون» یک فرآیند پسزمینه است که بهطور مداوم اجرا میشود، معمولاً خدمات یا عملکرد خاصی را برای سیستم عامل یا برنامههای کاربردی ارائه میدهد.
دیمون ها اغلب مسئول رسیدگی به وظایف مختلف مانند مدیریت سخت افزار، پاسخ به درخواست های شبکه، اجرای وظایف برنامه ریزی شده و تسهیل ارتباط بین اجزای مختلف نرم افزار هستند.
این وظایف معمولاً نیازی به مشارکت مستقیم کاربر ندارند و معمولاً بدون دخالت کاربر انجام می شوند.
نمونههای رایج دیمونها شامل سرورهای وب (مانند Apache یا NGINX)، سرورهای پایگاه داده (مانند MySQL یا PostgreSQL) و خدمات سیستمی (مانند cron برای زمانبندی وظایف یا systemd برای مدیریت سرویسهای مختلف سیستم) است.
systemctl
چیست؟
Systemctl در لینوکس Red Hat Enterprise (RHEL) ضروری است که به کاربران این امکان را می دهد تا سیستم و مدیر سرویس سیستم خود را به راحتی کنترل و نظارت کنند.
این ابزار خط فرمان راهی یکپارچه برای ارتباط با سیستم systemd init را ارائه می دهد که نقش مهمی در راه اندازی سیستم عامل، نظارت بر سرویس ها و مدیریت طیف وسیعی از عملکردهای سیستم ایفا می کند.
بیایید نگاهی دقیقتر به کارهایی که این ابزار میتواند انجام دهد بیاندازیم:
مدیریت خدمات
شروع و توقف خدمات
systemctl start service_name
یک سرویس را راه اندازی می کند. در اینجا یک مثال است:
systemctl start atd
دستور بالا systemctl start atd
در سیستم های لینوکس برای راه اندازی سرویس atd
(که مخفف "AT Daemon") با استفاده از ابزار systemctl
استفاده می شود.
systemctl stop service_name
یک سرویس را متوقف می کند. در اینجا یک مثال است:
systemctl stop atd
با اجرای systemctl stop atd
، به سیستم دستور می دهید تا سرویس atd
را متوقف کند. در نتیجه، هر کار یا کار برنامه ریزی شده برای اجرا با استفاده از دستور at
تا زمانی که سرویس دوباره راه اندازی نشود، پردازش نمی شود.
فعال و غیرفعال کردن خدمات
systemctl enable service_name
یک سرویس را تنظیم می کند که به طور خودکار در هنگام بوت شروع شود. در اینجا یک مثال است:
systemctl enable crond
این کد سرویس crond
را تنظیم می کند که هر بار که سیستم بوت می شود، به طور خودکار شروع به کار کند. این تضمین می کند که سرویس cron، مسئول رسیدگی به وظایف برنامه ریزی شده، فعال است و آماده اجرای دستورات در زمان های مشخص شده بدون نیاز به مداخله دستی پس از هر راه اندازی مجدد سیستم است.
systemctl disable service_name
از راه اندازی خودکار سرویس در هنگام بوت جلوگیری می کند. در اینجا یک مثال است:
systemctl disable crond
اجرای دستور بالا پیکربندی را حذف می کند که سرویس crond
را قادر می سازد به طور خودکار هنگام بوت شدن سیستم راه اندازی شود. در نتیجه، پس از راه اندازی مجدد سیستم، سرویس crond
به طور خودکار راه اندازی نمی شود. اگر کاربران می خواهند از cron برای زمان بندی وظایف استفاده کنند، باید به صورت دستی سرویس را راه اندازی کنند.
مشاهده وضعیت خدمات
تحلیل وضعیت خدمات
systemctl status service_name
وضعیت فعلی و اطلاعات مربوط به یک سرویس را نمایش می دهد. در اینجا یک مثال است:
systemctl status crond
این اطلاعات در مورد اینکه آیا سرویس crond
در حال اجرا، توقف یا مواجهه با مشکلی است، ارائه می دهد. معمولاً شامل جزئیاتی مانند فعال یا غیرفعال بودن سرویس، آخرین بار شروع یا توقف آن و هرگونه پیام خطا یا هشدار مربوط به عملکرد آن است.
نمایش همه خدمات
systemctl list-units --type=service
همه سرویس های فعال را فهرست می کند. در اینجا یک مثال است:
systemctl list-units --type=service
این فهرستی جامع از همه سرویسها - اعم از فعال و غیرفعال - که توسط systemd
در سیستم مدیریت میشوند، ارائه میکند. این خروجی شامل اطلاعاتی مانند نام واحد، وضعیت بارگذاری، وضعیت فعال (در حال اجرا یا نبودن)، و توضیحات هر سرویس است.
تمام دستورات ممکن سیستم مدیریت خدمات systemctl
در زیر فهرست شده است. شما می توانید همه آنها را به تنهایی تحلیل کنید تا درک بهتری از نحوه کار آنها پیدا کنید.
systemctl start <service>: Starts a service. systemctl stop <service>: Stops a service. systemctl restart <service>: Restarts a service. systemctl reload <service>: Reloads configuration for a service without stopping it. systemctl status <service>: Displays the current status and information about a service. systemctl enable <service>: Enables a service to start automatically at boot. systemctl disable <service>: Disables a service from starting automatically at boot. systemctl is-active <service>: Checks if a service is currently running. systemctl is-enabled <service>: Checks if a service is enabled to start at boot. systemctl is-failed <service>: Checks if a service has failed.
کنترل سیستم
راه اندازی مجدد و خاموش شدن
systemctl reboot
سیستم را مجددا راه اندازی می کند. در اینجا یک مثال است:
systemctl reboot
با این کار سیستم عامل خاموش می شود، تمام فرآیندها و سرویس های در حال اجرا خاتمه می یابد و سپس فرآیند بوت دوباره شروع می شود. این سیستم را به یک شروع جدید باز می گرداند.
systemctl poweroff
سیستم را خاموش می کند. در اینجا یک مثال است:
systemctl poweroff
این یک سری اقدامات را آغاز می کند که شامل خاموش کردن همه سرویس ها و فرآیندهای در حال اجرا به شیوه ای منظم، ذخیره داده های ضروری و در نهایت خاموش کردن سیستم می شود.
تعلیق و خواب زمستانی
systemctl suspend
سیستم را در حالت تعلیق قرار می دهد. در اینجا یک مثال است:
systemctl suspend
این باعث می شود که سیستم وارد حالت تعلیق شود. در این حالت، سیستم به طور موثر اکثر عملیاتها، از جمله CPU و سایر اجزای سختافزاری را برای حفظ انرژی متوقف میکند.
اما وضعیت فعلی سیستم را در حافظه (RAM) نگه میدارد تا زمانی که از سر گرفته شد، سیستم بتواند به سرعت به حالت قبلی خود بدون یک فرآیند راهاندازی کامل بازگردد.
systemctl hibernate
سیستم را در حالت Hibernate قرار می دهد. در اینجا یک مثال است:
systemctl hibernate
هر کاری را که روی رایانه انجام می دهید روی هارد دیسک ذخیره می کند و سپس رایانه را به طور کامل خاموش می کند. وقتی دوباره آن را راهاندازی میکنید، دقیقاً همان چیزی را که قبلاً روی آن کار میکردید، برمیگرداند، درست مانند آنچه آن را ترک کردهاید. این با "تعلیق" متفاوت است، که کار شما را در حالت کم مصرف نگه می دارد اما همچنان روشن است.
مشاهده اطلاعات سیستم
نمایش گزارش های سیستم
journalctl
گزارش های سیستم و ورودی های مجله را مشاهده می کند. در اینجا یک مثال است:
journalctl
این گزارشها را نمایش میدهد که شامل پیامهای سیستم، پیامهای هسته، گزارشهای سرویس و سایر رویدادهای ثبتشده توسط سیستم میشود.
journalctl -u <unit>
گزارش های مربوط به یک واحد خاص را نمایش می دهد. در اینجا یک مثال است:
journalctl -u crond
گزارش هایی را خواهید دید که به طور خاص به سرویس crond
مربوط می شوند. این شامل پیام ها، خطاها یا سایر اطلاعات ثبت شده توسط crond
daemon است که مسئول مدیریت وظایف برنامه ریزی شده با استفاده از زمانبندی کار cron است.
journalctl --since=<time>
گزارشها را از زمان خاصی نشان میدهد. در اینجا یک مثال است:
journalctl --since "2024-01-01 08:00:00"
این گزارشهای سیستمی را که پس از 1 ژانویه 2023 در ساعت 8:00 صبح تولید یا ثبت شدهاند، بازیابی و نمایش میدهد. این به محدود کردن گزارشها برای مشاهده رویدادهای سیستم یا پیامهایی که از آن نقطه زمانی خاص به بعد رخ دادهاند کمک میکند و میتواند به شما در عیبیابی یا تجزیه و تحلیل فعالیتهای اخیر سیستم کمک کند.
این دستورات systemctl
برای شروع یک ماژول زمانبندی کار کافی است. همیشه می توانید دستورات systemctl
بیشتری را به تنهایی کاوش کنید.
زمانبندی کار با استفاده at
دستور at
برای زمانبندی وظایف یا دستورات یکبارهای استفاده میشود که در زمان مشخصی در آینده انجام خواهند شد. این ویژگی مخصوصاً برای خودکارسازی کارهایی که باید بعداً انجام دهید مفید است، پس لازم نیست بعداً انجام آنها را به خاطر بسپارید.
برای استفاده at
، باید موارد زیر را تحلیل کنید:
اطمینان حاصل کنید که شبح at
( atd
) برای at
jobs اجرا می شود. می توانید از دستور systemctl
برای تحلیل اینکه آیا atd
در حال اجرا است یا نه استفاده کنید. اگر نه، می توانید از systemctl
برای شروع آن استفاده کنید (و می توانید نحوه انجام این کار را در بخش systemctl
در این آموزش ببینید).
بسته به تنظیمات سیستم، ممکن است مجوزها برای کاربران غیر سرپرست برای استفاده at
محدود باشد.
اگر در حال دستکاری چیزی در یک فایل هستید، مطمئن شوید که مجوز Read-Write-Execute برای همان فایل را دارید.
نحو از at
at <time>
نمونه هایی از استفاده از دستور at
بیایید ببینیم دستور at
در عمل با چند مثال چگونه کار می کند.
ابتدا نحوه نمایش پیام در یک زمان خاص به این صورت است:
at 15:35
حالا فرض کنید باید دستوراتی بدهید که در ساعت 15:35 به صورت خودکار اجرا می شوند:
echo "Meeting in 30 minutes" >> sample.txt
Ctrl + D
فشار دهید تا وارد کردن دستورات به پایان برسد و کار را برنامه ریزی کنید. این "جلسه در 30 دقیقه" را در فایل sample.txt در ساعت 15:35 چاپ می کند.
شاید شما یک اسکریپت به نام backup.sh
داشته باشید و بخواهید در ساعت 2 بامداد اجرا شود. در اینجا نحوه انجام این کار به شرح زیر است:
at -f backup.sh 02:00
این کد اسکریپت backup.sh
را برای اجرا در ساعت 2:00 بامداد برنامه ریزی می کند. محتویات backup.sh
به گونه ای اجرا می شوند که گویی در آن زمان مشخص شده مستقیماً وارد ترمینال شده اند.
همچنین می توانید از دستور زیر برای مشاهده فهرست ی از مشاغل at
انتظار استفاده کنید:
atq
دستور atq
به شما کمک میکند فهرستی از کارهای at
را مشاهده و مدیریت کنید و به شما امکان میدهد به راحتی به کارهای برنامهریزیشده و زمان اجرای آنها اشاره کنید.
در اینجا چند نمونه خروجی از دستور atq
آورده شده است:
10 Wed Jan 12 03:00:00 2023 a user123
ستون اول نشان دهنده شماره شغل است.
ستون دوم زمان اجرای برنامه ریزی شده برای هر کار را نشان می دهد.
ستون سوم سطح اولویت را نشان می دهد (در این مورد 'a').
«a» معمولاً سطح اولویت پیشفرض است که at
کارها به آن اختصاص مییابد، و با حرکت حروف به پایین الفبا («b»، «c»، «d» و غیره)، سطح اولویت کاهش مییابد.
ستون چهارم نام کاربری کاربری را که کار را برنامه ریزی کرده است (در صورت وجود) نمایش می دهد.
در اینجا نحوه حذف یک کار آمده است:
دیگر اخبار
دشمنان Destiny 2 صلح طلب می شوند زیرا مشکلات مشکوک سرور باعث ایجاد باگ ها و اشکالات عجیب می شود.
atrm 10
کد بالا کار at
را با شماره شناسه '3' از at
حذف می کند و از اجرای آن در زمان برنامه ریزی شده جلوگیری می کند. با دستور atq
می توانید شناسه شغلی را پیدا کنید. Job ID در ستون 1 خروجی قرار دارد.
at.allow
و at.deny
فایلهای at.allow
و at.deny
برای کنترل دسترسی کاربران برای زمانبندی کارها با استفاده at
استفاده میشوند. این فایل ها معمولاً در /etc/
در RHEL قرار دارند.
فایل at.allow
فهرست ی از کاربرانی را مشخص می کند که مجاز به استفاده از دستور at
برای زمان بندی کارها هستند. اگر این فایل وجود داشته باشد، فقط کاربرانی که در آن فهرست شدهاند میتوانند at
کارها برنامهریزی کنند. اگر فایل وجود نداشته باشد، به گونهای عمل میکند که انگار خالی است و به همه کاربران اجازه میدهد مگر اینکه توسط at.deny
محدود شده باشند.
فایل at.deny
فهرست ی از کاربرانی را مشخص می کند که از دسترسی به استفاده از دستور at
محروم هستند. اگر این فایل وجود داشته باشد و کاربری در آن فهرست شده باشد، آن کاربر نمیتواند at
کارها زمانبندی کند.
اگر هر دو at.allow
و at.deny
وجود داشته باشند، at.allow
اولویت دارد. اگر هیچ کدام وجود نداشته باشد، فقط ابرکاربر (ریشه) می تواند at
کارها برنامه ریزی کند.
مدیریت دسترسی - خلاصه و خلاصه
اگر at.allow
وجود داشته باشد، فقط کاربران فهرست شده در این فایل می توانند at
.
اگر at.deny
وجود داشته باشد اما at.allow
وجود نداشته باشد، کاربرانی که در at.deny
فهرست نشدهاند میتوانند at
استفاده کنند.
اگر نه at.allow
و نه at.deny
وجود نداشته باشد، به طور پیش فرض، فقط superuser (root) می تواند at
.
نمونه هایی از at.allow
و at.deny
فرض کنید می خواهید استفاده at
به کاربران خاصی محدود کنید:
یک فایل at.allow
به شکل زیر ایجاد کنید:
sudo touch /etc/at.allow sudo echo "user1" >> /etc/at.allow sudo echo "user2" >> /etc/at.allow
این فقط به user1
و user2
اجازه می دهد تا at
کارها برنامه ریزی کنند.
همچنین میتوانید از فایل at.deny
به صورت زیر استفاده کنید:
sudo touch /etc/at.deny sudo echo "user3" >> /etc/at.deny
این امر دسترسی user3
را از استفاده at
رد می کند.
برنامه ریزی کار با استفاده از crontab
Cron به کاربران امکان می دهد تا اعمال و دستورات تکرار شونده را در زمان ها، تاریخ ها یا فواصل زمانی خاص برنامه ریزی کنند. این زمانبندی کار قدرتمند تمام اطلاعات زمانبندی را در یک فایل خاص به نام crontab
ذخیره میکند.
دستورات پایه کرونتاب
crontab -e
: فایل crontab کاربر را در یک ویرایشگر برای گفت ن یا ویرایش کارهای cron باز می کند.
crontab -l
: کارهای cron کاربر را فهرست می کند.
crontab -r
: تمام کارهای cron کاربر را حذف می کند.
چند نکته در مورد crontab
:
هر کاربر می تواند crontab
خود را داشته باشد.
cron
daemon ( crond
) باید در حال اجرا باشد تا cron jobs اجرا شود.
همیشه از مسیرهای مطلق برای اسکریپت ها و دستورات در cron job استفاده کنید.
فرمت crontab
فایل crontab
دارای پنج فیلد است که با دستور/اسکریپت اجرا می شود. در اینجا به نظر می رسد:
* * * * * command_to_execute - - - - - | | | | | | | | | +----- Day of the week (0 - 7) (Sunday is 0 or 7) | | | +------- Month (1 - 12) | | +--------- Day of the month (1 - 31) | +----------- Hour (0 - 23) +------------- Minute (0 - 59)
اگر فرمت crontab
فراموش کرده اید، همیشه می توانید دستور cat /etc/crontab
اجرا کنید و فرمت را برای شما نمایش می دهد.
نمونه هایی از استفاده از crontab
هر ساعت یک اسکریپت اجرا کنید
crontab -e
دستور بالا ویرایشگر را با Vim یا هر دیگری که تنظیم کرده اید باز می کند. در آن ویرایشگر، کار را بر اساس فرمت crontab
درست مانند زیر می نویسید:
0 * * * * /path/to/script.sh
0
نشان دهنده فیلد دقیقه است. در این مورد، روی 0
تنظیم می شود، که نشان می دهد زمانی که دقیقه 0
است، یعنی در شروع هر ساعت، کار cron فعال می شود.
*
(ستاره) نشان می دهد که هر مقدار ممکن برای آن فیلد معتبر است. پس ، * * * * *
به این معنی است که کار در هر دقیقه از هر ساعت، هر روز، هر ماه و هر روز هفته اجرا می شود.
با کنار هم گذاشتن همه اینها، کار cron 0 * * * * /path/to/script.sh
نشان می دهد که اسکریپت واقع در /path/to/script.sh
هر ساعت در ابتدای ساعت اجرا می شود (زمانی که دقیقه 0
).
یک دستور را در زمان های خاص اجرا کنید
ابتدا crontab -e
اجرا کنید.
0 15 * * * command_to_execute
0
نشان دهنده فیلد دقیقه است. در این مورد، روی 0
تنظیم می شود، که نشان می دهد کار cron در ابتدای ساعت راه اندازی می شود.
15
نشان دهنده فیلد ساعت است. روی 15
تنظیم شده است، به این معنی که کار در ساعت 15 روز، یعنی ساعت 3:00 بعد از ظهر اجرا می شود.
* * * * *
: ستاره ها هر مقدار ممکن را برای هر فیلد مربوط به زمان نشان می دهند. در این مورد:
*
برای فیلدهای روز ماه و ماه به این معنی است که برای هر روز از هر ماه اعمال می شود.
*
فیلد روز هفته به این معنی است که برای هر روز هفته اعمال می شود.
command_to_execute
نشان دهنده دستور یا اسکریپتی است که در زمان مشخص شده اجرا می شود. این مکان نگهدار باید با دستور واقعی که میخواهید در ساعت 15:00 روزانه اجرا شود جایگزین شود.
هر روز هفته یک کار را اجرا کنید
ابتدا crontab -e
انجام دهید.
0 9 * * 1-5 command_to_execute
کد بالا مشخص می کند که command_to_execute
در ساعت 9:00 صبح از دوشنبه تا جمعه اجرا می شود. این cron job برای برنامه ریزی کارهایی که فقط باید در روزهای هفته در یک زمان خاص اجرا شوند مفید است.
هر 15 دقیقه یک کار را اجرا کنید
ابتدا crontab -e
انجام دهید.
*/15 * * * * command_to_execute
این مشخص می کند که command_to_execute
در 0، 15، 30 و 45 دقیقه گذشته هر ساعت، هر روز، هر ماه و هر روز هفته اجرا می شود. این cron job برای برنامه ریزی کارهایی که باید در فواصل زمانی منظم اجرا شوند، در این مورد هر 15 دقیقه مفید است.
cron.allow
و cron.deny
شما از این فایل های cron.allow
و cron.deny
استفاده می کنید تا کنترل کنید کدام کاربران مجاز به استفاده از سرویس cron
برای زمان بندی کارهای دوره ای هستند. این فایل ها معمولاً در /etc/
در RHEL قرار دارند.
فایل cron.allow
فهرست ی از کاربرانی را مشخص می کند که مجاز به استفاده از سرویس cron
برای زمان بندی کارها با استفاده از crontab
هستند. اگر این فایل وجود داشته باشد، فقط کاربران فهرست شده در آن می توانند ورودی های crontab
ایجاد کنند. اگر فایل وجود نداشته باشد، به گونهای عمل میکند که گویی خالی است و به همه کاربران اجازه میدهد مگر اینکه توسط cron.deny
محدود شده باشند.
فایل cron.deny
فهرست ی از کاربرانی را که از دسترسی به استفاده از سرویس cron
محروم هستند، مشخص می کند. اگر این فایل وجود داشته باشد و کاربری در آن فهرست شده باشد، آن کاربر نمی تواند ورودی های crontab
ایجاد کند. اگر هر دو cron.allow
و cron.deny
وجود داشته باشند، cron.allow
اولویت دارد. اگر هیچ کدام وجود نداشته باشد، فقط ابرکاربر (ریشه) می تواند ورودی های crontab
ایجاد کند.
مدیریت دسترسی - خلاصه
اگر cron.allow
وجود داشته باشد، فقط کاربران فهرست شده در این فایل می توانند ورودی های crontab
ایجاد کنند.
اگر cron.deny
وجود داشته باشد اما cron.allow
وجود نداشته باشد، کاربرانی که در cron.deny
فهرست نشده اند می توانند ورودی های crontab
ایجاد کنند.
اگر نه cron.allow
و نه cron.deny
وجود نداشته باشد، به طور پیش فرض، فقط superuser (ریشه) می تواند ورودی های crontab
ایجاد کند.
مثالی از استفاده از cron.allow
و cron.deny
فرض کنید می خواهید استفاده cron
را به کاربران خاصی محدود کنید.
یک فایل cron.allow
ایجاد کنید:
sudo touch /etc/cron.allow sudo echo "user1" >> /etc/cron.allow sudo echo "user2" >> /etc/cron.allow
این فقط به user1
و user2
اجازه می دهد تا ورودی های crontab
را ایجاد کنند.
همچنین می توانید از فایل cron.deny
استفاده کنید:
sudo touch /etc/cron.deny sudo echo "user3" >> /etc/cron.deny
این دسترسی user3
را از ایجاد ورودی های crontab
منع می کند.
تمرینات عملی
مدیریت خدمات با systemctl
وضعیت فعلی خدمات سیستم را با استفاده از systemctl
مرور کنید.
برای درک عملکرد یک سرویس، شروع، توقف، فعال یا غیرفعال کنید.
برنامه ریزی وظایف فوری با at
at
دستور at برای برنامهریزی یک کار فوری (مثلاً تکرار یک پیام، اجرای یک فرمان) استفاده کنید تا چند دقیقه از زمان فعلی اجرا شود.
با درک عملکرد at.allow
و at.deny
مجوزهای دسترسی برای دستورات at
را تحلیل کنید.
راه اندازی at.allow
و at.deny
یک فایل at.allow
ایجاد کنید تا کاربرانی را که مجاز به استفاده at
هستند با فهرست کردن نامهای کاربری (اگر وجود ندارد) مشخص کنید.
یک فایل at.deny
ایجاد کنید تا کاربران را از استفاده at
با فهرست کردن نامهای کاربری (در صورت لزوم) محدود کنید.
سعی کنید با استفاده از حسابهای کاربری مختلف، برای مشاهده تأثیر این فایلها، at
کار را زمانبندی کنید.
کارهای تکراری با cron
کرونتاب را با استفاده از crontab -e
باز کنید.
با استفاده از cron
یک کار را برنامه ریزی کنید تا در زمان خاصی هر روز یا هفته اجرا شود.
با درک عملکرد cron.allow
و cron.deny
مجوزهای دسترسی برای دستورات cron
را تحلیل کنید.
راه اندازی cron.allow
و cron.deny
یک فایل cron.allow
ایجاد کنید تا کاربران مجاز به استفاده از cron
با فهرست کردن نام های کاربری (اگر وجود نداشته باشد) مشخص کنید.
یک فایل cron.deny
ایجاد کنید تا کاربران را از استفاده از cron
با فهرست کردن نام های کاربری (در صورت لزوم) محدود کنید.
سعی کنید با استفاده از حساب های کاربری مختلف یک کار cron
را تغییر دهید یا ایجاد کنید تا تأثیر این فایل ها را مشاهده کنید.
مشاهده و تأیید
وضعیت وظایف برنامه ریزی شده را با استفاده از دستورات مربوطه ( atq
، crontab -l
) نظارت کنید.
با مشاهده تلاشهای کاربر و رد دسترسی، محدودیتها و مجوزهای دسترسی برای دستورات at
و cron
را تأیید کنید.
پاکسازی و اکتشاف
فایل های کنترل دسترسی ( at.allow
، at.deny
، cron.allow
، cron.deny
) را حذف یا تغییر دهید و تغییرات در دسترسی فرمان را مشاهده کنید.
دستورات اضافی systemctl
، at
و cron
را کاوش کنید تا درک خود را از زمانبندی کار و کنترل دسترسی عمیقتر کنید.
بسته بندی
از اینکه امروز با من دنیای مدیریت لینوکس سازمانی Red Hat (RHEL) را تحلیل کردید. میتوانید عمیقتر در حوزه تخصص لینوکس غوطهور شوید و در آموزشهای آینده من برای محتوای روشنتر همراه باشید.
شما می توانید من را دنبال کنید:
ارسال نظر