.TH scrontab "1" "Slurm Commands" "Slurm 26.05" "Slurm Commands" .SH "نام (NAME)" scrontab \- مدیریت فایل‌های crontab در Slurm .SH "خلاصه دستور (SYNOPSIS)" scrontab [\-u user] file .br scrontab [\-u user] [ \-e | \-l | \-r ] .SH "توضیحات (DESCRIPTION)" .LP دستور \fBscrontab\fR برای تنظیم، ویرایش و حذف فایل crontab مدیریت‌شده توسط Slurm برای یک کاربر به کار می‌رود. این فایل می‌تواند تعدادی کار دسته‌ای (batch job) تکرارشونده را برای اجرا در فواصل زمانی زمان‌بندی‌شده تعریف کند. .LP خط‌ها باید یا کامنت‌های شروع‌شده با «#»، فاصله خالی (whitespace)، ورودی‌های معتبر crontab یا تنظیمات متغیرهای سفارشی باشند. .LP خطوطی که با \fB#SCRON\fR آغاز می‌شوند، امکان تعریف گزینه‌ها را برای تک‌ورودیِ بعدی در crontab فراهم می‌کنند. گزینه‌ها همواره بین هر دو ورودی crontab بازنشانی می‌شوند. این گزینه‌ها شامل بیشتر مواردی است که برای دستور \fBsbatch\fR در دسترس هستند؛ جزئیات بیشتر در صفحه راهنمای \fBsbatch\fR(1) موجود است. .LP توجه داشته باشید که تضمینی برای اجرای کارها در زمان ترجیحی وجود ندارد. کارها بیشتر از فرکانس درخواست‌شده اجرا نخواهند شد، اما با تنظیم فیلد BeginTime روی تکرار معتبر بعدی مدیریت می‌شوند و سپس مشمول تأخیرهای صف‌بندی خواهند بود. رفتار دقیق به پیکربندی محلی سایت بستگی دارد. به دلیل این روش پیاده‌سازی، کار بعدی در این سری تا زمانی که کار قبلی کامل نشده باشد ارسال نخواهد شد. به عنوان مثال، اگر یک کار نظارتی دارید که زمان‌بندی شده هر دقیقه روی یک سیستم شلوغ اجرا شود، اگر کاری که برای شروع در 08:20:00 زمان‌بندی شده نتواند تا 08:20:30 آغاز شود و به مدت ۳۵ ثانیه اجرا شود، کار ساعت 08:21:00 نادیده گرفته خواهد شد و کار بعدی برای 08:22:00 زمان‌بندی می‌شود. .LP دستور \fBscrontab\fR از همان ساختار دستوریِ مشخص‌کننده‌های تاریخ و زمان در \fBcron\fR استفاده می‌کند. هر خط دارای پنج فیلد است که معانی زیر را دارند: .RS فیلد مقدارهای مجاز .br -\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\- .br minute 0\-59 .br hour 0\-23 .br day of month 1\-31 .br month 1\-12 (یا نام آن) .br day of week 0\-7 (0 و 7 یکشنبه هستند، یا نام آن) .RE .LP یک فیلد می‌تواند حاوی یک ستاره (*) باشد که به این معنی است که برای هر یک از مقادیر مجاز در آن دوره زمانی معتبر است. بازه‌ها نیز مجاز هستند که به صورت دو عدد با یک خط تیره بین آن‌ها مشخص می‌شوند. عدد دوم باید بزرگ‌تر از عدد اول باشد. لیست‌ها مجاز هستند که در آن‌ها کاما اعداد یا بازه‌ها را از هم جدا می‌کند. مقادیر گام (step) را می‌توان با وارد کردن یک ممیز رو به جلو (/) و به دنبال آن مقدار گام مشخص کرد، که باعث می‌شود کار در بازه زمانی تعیین‌شده متناسب با آن فیلد اجرا شود. .LP متغیرهای سفارشی را می‌توان مانند یک اسکریپت شل معمولی تعریف کرد. نویسه «$» برای گسترش متغیر به کار می‌رود. در حال حاضر تنها نوع گسترش پذیرفته‌شده، گسترش پارامتر ساده است (یعنی ${parameter} یا ${parameter:\-word} پشتیبانی نمی‌شوند). گسترش متغیر تنها درون دستورهای کارهای \fBscrontab\fR رخ خواهد داد. گسترش متغیرها در انواع دیگر خطوط (تعاریف دیگر متغیرها، کامنت‌ها یا ورودی‌های crontab) امکان‌پذیر نیست. این گسترش پیش از ارسال کار انجام می‌شود، اما تعاریف متغیر در اسکریپت \fBscrontab\fR باقی خواهند ماند. برخلاف crontab، متغیرهای محیطی کاربر نادیده گرفته می‌شوند. .SH "گزینه‌ها (OPTIONS)" فرم نخست این دستور برای نصب یک crontab جدید از یک فایل مشخص، یا از ورودی استاندارد در صورت ارائه نام‌فایل شبه‌ورودی «\-» به کار می‌رود. .TP \fB\-e\fR ویرایش crontab. اگر از قبل crontab وجود نداشته باشد، یک نمونه پیش‌فرض (بدون هیچ ورودیِ تعریف‌شده‌ای) در ویرایشگر ارائه خواهد شد. .IP .TP \fB\-l\fR فهرست کردن crontab. (مستقیماً در خروجی استاندارد stdout چاپ می‌شود.) .IP .TP \fB\-r\fR حذف crontab. هر کار در حال اجرایی که توسط crontab تعریف شده باشد به اجرای خود ادامه خواهد داد اما دیگر تکرار نخواهد شد. سایر کارهای تعریف‌شده در crontab لغو خواهند شد. .IP .TP \fB\-u\fR <\fIuser\fR> ویرایش یا مشاهده crontab یک کاربر دیگر. فهرست کردن برای اپراتورها (Operators) و مدیران (Admins) مجاز است. ویرایش یا حذف تنها برای کاربر ریشه (root) و حساب کاربری \fISlurmUser\fR مجاز است. .IP .SH "گزینه‌های SCRONTAB (SCRONTAB OPTIONS)" دستور \fBscrontab\fR به شما اجازه می‌دهد تا از میان‌برها برای مشخص کردن برخی از فواصل زمانی متداول جهت اجرای اسکریپت مشخص‌شده استفاده کنید. این میان‌برها شامل موارد زیر هستند: .TP \fB@yearly\fR | \fB@annually\fR کار در ساعت \fI00:00 در 01 Jan\fR هر سال واجد شرایط اجرا می‌شود. .IP .TP \fB@monthly\fR کار در ساعت \fI00:00\fR در اولین روز هر ماه واجد شرایط اجرا می‌شود. .IP .TP \fB@weekly\fR کار در ساعت \fI00:00 یکشنبه\fR در هر هفته واجد شرایط اجرا می‌شود. .IP .TP \fB@daily\fR | \fB@midnight\fR کار در ساعت \fI00:00\fR هر روز واجد شرایط اجرا می‌شود. .IP .TP \fB@hourly\fR کار در اولین دقیقه هر ساعت واجد شرایط اجرا می‌شود. .IP .TP \fB@elevenses\fR کار در ساعت \fI11:00\fR هر روز واجد شرایط اجرا می‌شود. (این یک قابلیت الحاقی غیر استاندارد است.) .IP .TP \fB@fika\fR کار در ساعت \fI15:00\fR هر روز واجد شرایط اجرا می‌شود. (این یک قابلیت الحاقی غیر استاندارد است.) .IP .TP \fB@teatime\fR کار در ساعت \fI16:00\fR هر روز واجد شرایط اجرا می‌شود. (این یک قابلیت الحاقی غیر استاندارد است.) .IP .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .TP 20 \fBVISUAL\fR در صورت تنظیم بودن، به عنوان ویرایشگر تعاملی به کار می‌رود. .IP .TP \fBEDITOR\fR در صورت تنظیم بودن و عدم تعریف \fBVISUAL\fR، به عنوان ویرایشگر تعاملی به کار می‌رود. .IP .TP \fBSLURM_CONF\fR محل فایل پیکربندی Slurm. .IP .TP \fBSLURM_DEBUG_FLAGS\fR پرچم‌های اشکال‌زدایی (debug flags) را برای استفاده توسط scrontab تعیین می‌کند. برای فهرست کاملی از پرچم‌ها، به DebugFlags در صفحه راهنمای \fBslurm.conf\fR(5) مراجعه کنید. این متغیر محیطی بر تنظیمات داخل slurm.conf اولویت دارد. .IP .SH "نکات (NOTES)" .LP دستور \fBscrontab\fR تنها در صورتی در دسترس است که گزینه \fBScronParameters=enable\fR در \fBslurm.conf\fR فعال شده باشد. .LP دستور \fBscrontab\fR یک فایل موقت در دایرکتوری تعیین‌شده توسط متغیر محیطی \fBTMPDIR\fR ایجاد خواهد کرد. اگر این متغیر تنظیم نشده باشد، از /tmp استفاده می‌شود. .LP به کارهای ایجاد‌شده با \fBscrontab\fR یک شناسه کار (job id) یکتا اختصاص داده می‌شود. در هنگام لغو، تمام اجراهای آینده آن کار نیز لغو خواهند شد. تعریف کار در فایل \fBscrontab\fR کاربر به صورت کامنت در خواهد آمد. .LP استفاده از «\fBscontrol requeue\fR <\fIjob_id\fR>» اجرای بعدی کار زمان‌بندی‌شده cron را رد می‌کند و آن را بر اساس عبارت cron برای زمان در دسترس بعدی دوباره زمان‌بندی خواهد کرد. .SH "مثال‌ها (EXAMPLES)" برای ایجاد کاری که در آغاز هر ساعت، با استفاده از پارتیشن 'high' و حساب 'sub1' اجرا شده و محدودیت زمانی اجرای آن (walltime) برابر ۱ دقیقه باشد، خطوط زیر را به \fBscrontab\fR اضافه کنید: .RS .nf DIR=/home/user1 #SCRON \-p high #SCRON \-A sub1 #SCRON \-t 1:00 @hourly $DIR/date.printer.job .fi .RE .LP برای اینکه کاری در هر چهارشنبه، هر دو ساعت یک‌بار در طول روز کاری، در پنج دقیقه نخست هر ساعت و دوباره در دقیقه سی‌ام اجرا شود، موارد زیر را به \fBscrontab\fR اضافه کنید: .RS .nf 1\-5,30 8\-17/2 * * wed $DIR/example.job .fi .RE .SH "محدودیت‌ها (LIMITATIONS)" برای ارزیابی فواصل تکرار هر crontab، از منطقه زمانی کنترل‌کننده Slurm استفاده می‌شود. مناطق زمانی مختص به کاربر پشتیبانی نمی‌شوند. .SH "کپی‌رایت و تکثیر (COPYING)" حق نشر (C) 2020\-2022 متعلق به SchedMD LLC است. .LP این فایل بخشی از Slurm، یک برنامه مدیریت منابع است. برای جزئیات بیشتر، پیوند را ببینید. .LP نرم‌افزار Slurm یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) همان‌طور که توسط «بنیاد نرم‌افزارهای آزاد» منتشر شده است، تحت نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده یا تغییر دهید. .LP نرم‌افزار Slurm به این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به «مجوز عمومی همگانی گنو» مراجعه کنید. .SH "همچنین ببینید (SEE ALSO)" .LP \fBsbatch\fR(1), \fBsqueue\fR(1), \fBslurm.conf\fR(5)