.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "FCRONTAB" "5" "22 March 2025" "03/22/2025" ""
.SH "نام (NAME)"
fcrontab \- قالب فایل برای تعریف کارهایی که fcron باید اجرا کند، و زمانبندی آنها
.SH "توضیحات (DESCRIPTION)"
.PP
یک \fBfcrontab\fR فایلی است شامل تمام جدولهای مورد استفاده توسط دیمن
\fBfcron\fR(8). به عبارت دیگر، ابزاری است که کاربر از طریق آن به دیمن
اعلام میکند «این دستور را در این زمان اجرا کن». هر کاربر \fBfcrontab\fR مخصوص به خود را دارد
که دستورهای آن از طرف مالک آن اجرا میشوند (بهویژه با مجوزهای
همان کاربر -- تنها کاربر root میتواند با استفاده از گزینهٔ runas کاری را از طرف کاربر دیگری اجرا کند
(به زیر مراجعه کنید)).
.PP
خطوط خالی، خطوطی که با علامت هش (#) شروع میشوند (که به عنوان توضیح در نظر
گرفته میشوند)، و فاصلهها و تبهای ابتدای خط نادیده گرفته میشوند. هر خط در یک
فایل fcrontab میتواند یکی از موارد زیر باشد:
.TP 0.2i
\(bu
تنظیم یک متغیر محیطی،
.TP 0.2i
\(bu
تنظیم یک گزینه،
.TP 0.2i
\(bu
ورودیهای مبتنی بر زمان سپریشده از بالا بودن سیستم (uptime)،
.TP 0.2i
\(bu
ورودیهای مبتنی بر زمان مطلق (مانند ورودیهای عادی crontab)، یا
.TP 0.2i
\(bu
ورودیهایی که به صورت دورهای اجرا میشوند.
.PP
هر خط منطقی (یک ورودی یا یک انتساب مقدار) میتواند با قرار دادن یک
بکاسلش (\\) پیش از نویسهٔ خط جدید (\\n)، به چند خط واقعی (خطوطی که با نویسهٔ خط جدید پایان مییابند)
تقسیم شود.
.SS "تنظیمات محیطی (THE ENVIRONMENT SETTINGS)"
.PP
تنظیمات محیطی به شکل زیر هستند:
.sp
.RS
.PP
name = value
.RE
.PP
که در آن فاصلههای اطراف علامت مساوی (=) اختیاری بوده و نادیده گرفته میشوند.
فاصلههای انتهای خط نیز نادیده گرفته میشوند، اما میتوانید مقدار را درون
گیومه (تکی یا دوگانه، اما متناظر) قرار دهید تا فاصلههای موجود در مقدار حفظ شوند.
.PP
هنگامی که \fBfcron\fR دستوری را اجرا میکند، همواره متغیرهای
\fBUSER\fR و \fBHOME\fR را مطابق آنچه در \fI/etc/passwd\fR برای مالک \fBfcrontab\fR مربوطه
تعریف شده، مقداردهی میکند. در صورت استفاده از گزینهٔ timezone، متغیر TZ نیز برابر با مقدار این گزینه تنظیم میشود. همچنین متغیر \fBSHELL\fR را برابر با مقدار پوستهٔ مورد استفاده برای اجرای دستور قرار میدهد. \fBFcron\fR مقدار \fBSHELL\fR را در صورت وجود از fcrontab میگیرد، در غیر این صورت از مقدار موجود در \fIfcron.conf\fR، و در نهایت از مقدار موجود در \fI/etc/passwd\fR استفاده میکند\&. مقادیر \fBHOME\fR و \fBSHELL\fR ممکن است
توسط تنظیمات موجود در \fBfcrontab\fR بازنویسی شوند، اما \fBUSER\fR قابل بازنویسی نیست.
سپس تمام انتسابهای محیطی دیگر تعریفشده در \fBfcrontab\fR کاربر اعمال شده و دستور اجرا میشود.
.PP
بهطور پیشفرض، fcron ایمیلها را با استفاده از سرآیند "Content-Type:" با مقدار "text/plain" و پارامتر "charset=" تنظیمشده بر روی نگاشت نویسه (charmap/codeset) محلی (locale) که \fBfcron\fR(8) در آن راهاندازی شده ارسال میکند — یعنی یا لوکال پیشفرض سیستم در صورتی که هیچ متغیر محیطی LC_* تنظیم نشده باشد، یا لوکال مشخصشده توسط متغیرهای محیطی LC_* (به locale(7) مراجعه کنید). با تنظیم متغیرهای CONTENT_TYPE و CONTENT_TRANSFER_ENCODING در fcrontab بر روی مقادیر صحیح سرآیندهای ایمیل مربوطه، میتوانید از رمزگذاریهای نویسهای متفاوتی برای خروجی ایمیلشدهٔ کارهای fcron استفاده کنید.
.PP
علاوه بر این، متغیرهای ویژهٔ MAILFROM و MAILTO به شما امکان میدهند به \fBfcron\fR مشخص کنید خروجی دستور را از طرف چه کسی و برای چه کسی ایمیل کند. توجه داشته باشید که این متغیرها در واقع معادل اعلان سراسری گزینههای mailfrom و mailto هستند (به زیر مراجعه کنید). آنها برای سازگاری با نسخههای پیشین در نظر گرفته شدهاند و توصیه میشود بهجای آنها مستقیماً از گزینههای mailfrom و mailto استفاده کنید.
.SS "ورودیهای مبتنی بر زمان بالا بودن سیستم (ENTRIES BASED ON ELAPSED SYSTEM UP TIME)"
.PP
کارها بهگونهای زمانبندی میشوند که به ازای هر m دقیقه اجرای \fBfcron\fR (که معمولاً همان m دقیقه اجرای سیستم است) یک بار اجرا شوند. مدت زمانی که سیستم در حالت تعلیق (به حافظه یا دیسک) است، به عنوان زمان خاموشی سیستم در نظر گرفته میشود. برای پیکربندی چنین کاری، از خطوط پیکربندی به شکل زیر استفاده کنید:
.nf
@options frequency command
.fi
.PP
که در آن frequency یک مقدار زمانی به شکل
value*multiplier+value*multiplier+...+value-in-minutes مانند "12h02" یا "3w2d5h1" است.
اولی به معنای «۱۲ ساعت و ۲ دقیقه اجرای fcron» و دومی
به معنای «۳ هفته، ۲ روز، ۵ ساعت و ۱ دقیقه اجرای fcron» است. تنها ضریبهای معتبر عبارتند از:
.PP
"ضریبهای زمانی معتبر (VALID TIME MULTIPLIERS)"
.br
ماه (۴ هفته): m | هفته (۷ روز): w | روز (۲۴ ساعت): d | ساعت (۶۰ دقیقه): h | ثانیه: s
.PP
کاربر میتواند به جای \fIoptions\fR یک مقدار زمانی قرار دهد: این مقدار به عنوان
@first(\fI\fR)\& تفسیر خواهد شد. اگر گزینهٔ first
تنظیم نشده باشد، مقدار "frequency" استفاده میشود.
.PP
این نوع ورودی، زمان و تاریخ دقیقی را برای اجرا تضمین نمیکند
(زیرا کار در هر بار راهاندازی، به میزان زمان سپریشده از زمان خاموشی به تعویق میافتد)،
اما برای کارهایی که به میزان فعالیتهای انجامشده توسط کاربران بستگی دارند بسیار مفید است
(برای نمونه، بررسی سیستمفایل بهتر است پس از مقدار مشخصی استفاده توسط کاربران انجام شود
تا هر x روز یکبار، زیرا سیستم ممکن است در طول آن بازهٔ x روزه تنها از ۱ روز تا x روز روشن بوده باشد).
.PP
زمان باقیمانده تا اجرای بعدی هر ۱۸۰۰ ثانیه یک بار (جهت کاهش خسارات ناشی از کرش)
و همچنین هنگام خروج \fBfcron\fR پس از دریافت سیگنال SIGTERM (یعنی زمان خاموش شدن سیستم) ذخیره میشود.
بنابراین، این نوع ورودیها بهویژه برای سیستمهایی که دائماً روشن نیستند بسیار مفید است.
به دلیل سادگی ساختار نحوی، برای وظایفی که نیازی به اجرا در زمان و تاریخ خاصی ندارند نیز مناسب است.
.PP
\fBهمچنین ببینید\fR: گزینههای first، mail، nolog، serial، lavg، nice، runas (به زیر مراجعه کنید).
.PP
.SS "چند مثال از خطوط مبتنی بر زمان بالا بودن سیستم (SOME EXAMPLES OF LINES BASED ON ELAPSED SYSTEM UP TIME)"
.nf
# دریافت ایمیلها هر ۳۰ دقیقه یک بار
@ 30 getmails -all
# انجام برخی آزمایشهای امنیتی هر ۴۸ ساعت از زمان روشن بودن سیستم،
# اجبار به ارسال ایمیل به root حتی در صورت نبود خروجی
@mailto(root),forcemail 2d /etc/security/msec/cron-sh/security.sh
.fi
.SS "ورودیهای مبتنی بر زمان و تاریخ (ENTRIES BASED ON TIME AND DATE)"
.PP
نوع دوم ورودیهای \fBfcrontab\fR با یک کاراکتر اختیاری
"&" آغاز میشود که میتواند بلافاصله با یک عدد اختیاری مشخصکنندهٔ
بسامد اجرا (معادل گزینهٔ runfreq) یا اعلان گزینهها دنبال شود؛
این نوع ورودی شامل پنج فیلد زمان و تاریخ و یک دستور پوسته است:
.nf
&options min hrs day-of-month month day-of-week command
.fi
.PP
توجه داشته باشید که دستور پوسته میتواند با یک نام کاربری پیشوند شود
که معادل runas(\fI\fR) است: از آنجا که این مورد صرفاً برای سازگاری با گذشته
وجود دارد، باید بهجای آن از گزینهٔ runas (به زیر مراجعه کنید) استفاده کنید.
بسامد به این صورت تفسیر میشود: «اجرای این دستور پس از x بار تطابق فیلدهای زمان و تاریخ».
فیلدهای زمان و تاریخ عبارتند از:
.PP
"فیلدهای زمان و تاریخ (TIME AND DATE FIELDS)"
.br
دقیقه (minute): 0-59 | ساعت (hour): 0-23 | روز ماه (day of month): 1-31 | ماه (month): 1-12 (یا نامها، به زیر مراجعه کنید) | روز هفته (day of week): 0-7 (هر دو مقدار 0 و 7 نشاندهندهٔ یکشنبه هستند، یا نامها)
.PP
یک فیلد همیشه با یک ستاره (*)، که به عنوان محدودهٔ «اولین-آخرین» عمل میکند،
یک عدد منفرد یا یک فهرست پر میشود.
.PP
فهرستها اعداد یا محدودههایی هستند که با کاما (,) جدا شدهاند؛
برای نمونه: "2,5,15,23".
.PP
محدودههای عددی به شکل
"\fI\fR-\fI\fR" هستند،
که در آنها "\fIbegin\fR" و "\fIend\fR" شامل بازه میشوند.
برای مثال، "3-5" مقادیر ۳، ۴ و ۵ را مشخص میکند. همچنین میتوانید
یک "/\fInumber\fR" اختیاری به یک محدوده اضافه کنید، که در آن
\fInumber\fR گامهای پرش از روی مقادیر در طول محدوده را مشخص میکند.
برای مثال، میتوان از "0-23/2" در فیلد ساعت برای اجرای دستور به صورت یک ساعت در میان استفاده کرد.
در نهایت، میتوان یک یا چند "~\fInumber\fR" را برای استثنا کردن برخی مقادیر خاص در یک محدوده اضافه کرد.
برای نمونه، "5-8~6~7" معادل "5,8" است. شکل نهایی یک فیلد به صورت زیر است:
.sp
.RS
.PP
a[-b[/c][~d][~e][...]][,f[-g[/h][~i][~j][...]]][,...]
.RE
.PP
که در آن حروف، اعداد صحیح هستند.
.PP
همچنین میتوانید از یک ستاره (*) در یک فیلد استفاده کنید. این علامت نشاندهندهٔ
«اولین-آخرین» است؛ برای نمونه، یک "*" در فیلد دقیقه به معنای تمام دقیقهها از دقیقهٔ ۰ تا دقیقهٔ ۵۹ است.
.PP
محدودهها میتوانند مانند یک عدد منفرد در یک فهرست گنجانده شوند؛
برای نمونه: "2,5-10/2~6,15,20-25,30".
.PP
برای فیلدهای «ماه» و «روز هفته» میتوان از نامها نیز استفاده کرد.
برای این کار، از سه حرف اول روز یا ماه مورد نظر استفاده کنید (بزرگ یا کوچک بودن حروف اهمیتی ندارد).
لطفاً توجه داشته باشید که نامها دقیقاً مانند اعداد به کار میروند: میتوانید از آنها در فهرست یا محدوده استفاده کنید.
.PP
اگر روز ماه و روز هفته هر دو مشخص شده باشند، دستور تنها زمانی اجرا خواهد شد
که \fBهر دو\fR با زمان و تاریخ جاری مطابقت داشته باشند، مگر اینکه گزینهٔ dayor تنظیم شده باشد.
برای مثال، با خط زیر:
.nf
5 10 31 * 7 echo ''
.fi
دستور echo تنها در روزهایی اجرا میشود که هم یکشنبه و هم روز سیویکم ماه باشند، در ساعت ۱۰:۰۵.
.PP
\fBهمچنین ببینید\fR: گزینههای dayor، bootrun، runfreq، mail، nolog، serial، lavg، nice، runas (به زیر مراجعه کنید).
.PP
.SS "چند مثال از ورودیهای مبتنی بر زمان و تاریخ (SOME EXAMPLES OF ENTRIES BASED ON TIME AND DATE)"
.nf
# اجرای mycommand در ساعتهای 12:05، 12:35، 13:05، 13:35،
# 14:05 *و* 14:35 در هر روز
& 05,35 12-14 * * * mycommand -u me -o file
# دریافت ایمیلها در هر ساعت در دقیقههای 20، 21، 22 و 24
20-24~23 * * * * getmail
# ذخیره کار روزانه در هر شب ساعت 03:45 با اولویت پایین
# مگر اینکه یکشنبه باشد، ارسال خروجی با ایمیل به jim و اجرای کار
# هنگام راهاندازی در صورتی که رایانه در 03:45 خاموش بوده باشد
&nice(10),mailto(jim),bootrun 45 03 * * *~0 "save --our work"
.fi
.SS "ورودیهای دورهای (ENTRIES RUN PERIODICALLY)"
.PP
نوع سوم از ورودیهای \fBfcrontab\fR با یک علامت "%" آغاز میشود
که پس از آن یک کلیدواژه از یکی از ۳ فهرست مختلف، و گزینههای اختیاری قرار میگیرد.
.SS "کلیدواژههای LY-* (*LY KEYWORDS)"
.PP
این کلیدواژهها عبارتند از:
.PP
\fIhourly \fR، \fIdaily \fR، \fImonthly \fR، \fIweekly \fR
.PP
این کلیدواژهها به \fBfcron\fR میگویند که دستور را
یک بار از ابتدای بازهٔ زمانی مربوطه تا انتهای آن بازهٔ زمانی اجرا کند. یک بازهٔ زمانی برای مثال، زمان بین دوشنبه ساعت ۱۶:۲۰ تا چهارشنبه ساعت ۰۱:۴۳ است.
برای نمونه، کلیدواژهٔ \fIweekly\fR به \fBfcron\fR میگوید
که یک دستور را در هر هفته یک بار بین دوشنبه و یکشنبه اجرا کند.
.PP
با این دو نوع کلیدواژه، کاربر باید فیلدهای زمانی مورد نیاز را
(همانگونه که در «ورودیهای مبتنی بر زمان و تاریخ» تعریف شد) مشخص کند تا تعیین شود دستور چه زمانی در طول هر بازهٔ زمانی باید اجرا گردد:
.PP
"فیلدهای زمانی مورد نیاز برای هر کلیدواژه (NEEDED TIME FIELDS FOR EACH KEYWORD)"
.br
کلیدواژههای \fIhourly\fR و \fImidhourly\fR: دقیقه.
.br
کلیدواژههای \fIdaily\fR، \fImiddaily\fR، \fInightly\fR، \fIweekly\fR و \fImidweekly\fR: دقیقه و ساعت.
.br
کلیدواژههای \fImonthly\fR و \fImidmonthly\fR: دقیقه، ساعت و روز.
.SS "کلیدواژههای MID*LY"
.PP
این کلیدواژهها مشابه موارد "*ly" هستند:
.PP
\fImidhourly \fR، \fImiddaily \fR، \fInightly \fR، \fImidmonthly \fR، \fImidweekly \fR
.PP
عملکرد آنها دقیقاً مشابه کلیدواژههای "*ly" است، با این تفاوت
که بازههای زمانی از میانه تا میانهٔ بازههای متناظر "*ly" تعریف میشوند:
\fImidweekly\fR یک دستور را یک بار از پنجشنبه تا چهارشنبه اجرا میکند.
توجه داشته باشید که \fInightly\fR معادل \fImiddaily\fR است\&.
.PP
برای نمونه:
.PP
.nf
%nightly,mail(no) * 21-23,3-5 echo "a nigthly entry"
.fi
.PP
دستور را هر شب یک بار، یا بین ساعتهای ۲۱:۰۰ و ۲۳:۵۹، یا بین ساعتهای ۳:۰۰ و ۵:۵۹
اجرا میکند (در اولین فرصت ممکن اجرا خواهد شد؛ برای تغییر این رفتار،
از گزینهٔ random استفاده کنید) و ایمیلی ارسال نخواهد کرد (زیرا گزینهٔ mail برابر با "no" تنظیم شده است).
.PP
\fBهمچنین ببینید\fR: گزینههای lavg، noticenotrun، strict، mail، nolog، serial، nice، runas، random (به زیر مراجعه کنید).
.SS "کلیدواژههای S-* (*S KEYWORDS)"
.PP
عبارتند از:
.PP
\fImins \fR، \fIhours \fR، \fIdays \fR، \fImons \fR، \fIdow \fR
.PP
این کلیدواژهها رفتاری متفاوت دارند:
.PP
این دستور را یک بار در طول هر بازهٔ زمانی مشخصشده اجرا میکنند، و فیلدهای زیرین کلیدواژه را در تعریف بازهٔ زمانی نادیده میگیرند (یک \fIhours\fR مانع از در نظر گرفته شدن فیلد mins به عنوان یک بازهٔ زمانی میشود، اما از آن برای تعیین زمان اجرای خط در طول یک بازه استفاده خواهد شد: به یادداشت زیر مراجعه کنید) (\fIdow\fR به معنای روز هفته است).
.PP
چنین کلیدواژهای با ۵ فیلد زمان و تاریخ (همان فیلدهای مورد استفاده برای خط مبتنی بر زمان مطلق) دنبال میشود. علاوه بر این، باید مقداری زمان و تاریخ غیر منطبق در خطوط دارای این نوع کلیدواژه وجود داشته باشد (یعنی خط زیر مجاز نیست:
.nf
%hours * 0-23 * * * echo "INCORRECT line!"
.fi
اما خط زیر
.nf
%hours * 0-22 * * * echo "Ok."
.fi
مجاز است).
.sp
.RS
.B "یادداشت:"
.PP
یک عدد منفرد در یک فیلد به عنوان یک بازهٔ زمانی در نظر گرفته میشود:
.nf
%mins 15 2-4 * * * echo
.fi
هر روز در ساعتهای ۲:۱۵، ۳:۱۵ و ۴:۱۵ اجرا خواهد شد.
.PP
اما تمام فیلدهای زیرین کلیدواژهها در تعریف بازهٔ زمانی نادیده گرفته میشوند:
.nf
%hours 15 2-4 * * * echo
.fi
تنها یک بار در یکی از ساعتهای ۲:۱۵، ۳:۱۵ یا ۴:۱۵ اجرا خواهد شد.
.RE
.PP
\fBهمچنین ببینید\fR: گزینهٔ random (به زیر مراجعه کنید).
.SS "میانبرهای VIXIE CRON (VIXIE CRON SHORTCUTS)"
.PP
برای تضمین سازگاری مناسب با Vixie cron، میانبرهای Vixie cron پشتیبانی میشوند. بهطور کلی استفاده از آنها توصیه نمیشود زیرا فاقد برخی از انعطافپذیریهای ارائهشده توسط fcron هستند. همچنین در مواردی که زمان دقیق اجرا حیاتی نیست، استفاده از خطوط مبتنی بر زمان بالا بودن سیستم توصیه میشود.
.PP
یک وظیفه که از میانبر Vixie cron استفاده میکند به شکل زیر است:
.nf
shortcut command
.fi
.PP
در زیر فهرستی از میانبرهای موجود، به همراه برخی موارد اختصاصی fcron، و معادلهای آنها در fcron آورده شده است:
.PP
"میانبرهای VIXIE CRON (VIXIE CRON SHORTCUTS)"
.TP 1.2i
\fB@reboot\fR
اجرا یک بار هنگام راهاندازی | معادل در fcron: \fB@runatreboot,runonce(true)\fR
.TP 1.2i
\fB@resume\fR
اجرا یک بار هنگام بازگشت از تعلیق/خواب زمستانی | معادل در fcron: \fB@runatresume,runonce(true)\fR
.TP 1.2i
\fB@yearly\fR
اجرا سالی یک بار | معادل در fcron: \fB0 0 1 1 *\fR | جایگزین پیشنهادی: \fB@ 12m\fR
.TP 1.2i
\fB@annually\fR
(مشابه @yearly) | معادل در fcron: \fB0 0 1 1 *\fR | جایگزین پیشنهادی: \fB@ 12m\fR
.TP 1.2i
\fB@monthly\fR
اجرا ماهی یک بار | معادل در fcron: \fB0 0 1 * *\fR | جایگزین پیشنهادی: \fB@ 1m\fR
.TP 1.2i
\fB@weekly\fR
اجرا هفتهای یک بار | معادل در fcron: \fB0 0 * * 0\fR | جایگزین پیشنهادی: \fB@ 1w\fR
.TP 1.2i
\fB@daily\fR
اجرا روزی یک بار | معادل در fcron: \fB0 0 * * *\fR | جایگزین پیشنهادی: \fB@ 1d\fR
.TP 1.2i
\fB@midnight\fR
(مشابه @daily) | معادل در fcron: \fB0 0 * * *\fR
.TP 1.2i
\fB@hourly\fR
اجرا ساعتی یک بار | معادل در fcron: \fB0 * * * *\fR | جایگزین پیشنهادی: \fB@ 1h\fR
.PP
چند مثال:
.nf
# اجرای check_laptop_logs.sh در دقیقه اول هر ساعت:
@hourly check_laptop_logs.sh
# اجرای check_web_server.sh و check_file_server.sh هر روز رأس
# نیمهشب، هر دو به صورت همزمان:
@daily check_web_server.sh
@daily check_file_server.sh
# اجرای compress_home_made_app_log_files.sh دقیقا رأس نیمهشب
# در اولین روز هر ماه:
@monthly compress_home_made_app_log_files.sh
.fi
.PP
با این حال، ممکن است ترجیح دهید تعاریف وظایف را با مواردی مانند زیر جایگزین کنید:
.nf
# اجرای check_laptop_logs.sh پس از هر یک ساعت روشن بودن سیستم:
@ 60 check_laptop_logs.sh
# اجرای check_web_server.sh و check_file_server.sh هر شب بین نیمهشب
# و ساعت ۳ بامداد، یکی پس از دیگری:
%nightly,serial * 0-3 check_web_server.sh
%nightly,serial * 0-3 check_file_server.sh
# اجرای compress_home_made_app_log_files.sh ماهی یک بار، فقط در شب
# هنگامی که بار سیستم کم است:
@monthly,lavg(0.5) * 21-23,0-5 * compress_home_made_app_log_files.sh
.fi
.PP
در نهایت، باید توجه داشت که وظایف تعریفشده با استفاده از میانبرهای Vixie cron تنها در صورتی رفتاری مشابه Vixie cron خواهند داشت که با تعاریف قبلی گزینهها تغییر نیافته باشند. این حالت در صورتی است که یک فایل crontab مربوط به Vixie cron را بدون تغییر وارد fcron کنید، یا پیش از تعریف وظیفه از reset استفاده نمایید، مانند:
.nf
!serial
@ 10 fcron_task_1
@ 25 fcron_task_2
!reset
@reboot start_unprivileged_user_program
@daily cleanup_tmp.sh
.fi
.PP
در مثال بالا، اگر از reset استفاده نمیکردیم، گزینهٔ serial به دو وظیفهٔ آخر نیز اعمال میشد\&.
.SS "گزینهها (OPTIONS)"
.PP
گزینهها را میتوان برای تمام خطوط زیر اعلان یا برای یک خط مجزا تنظیم کرد. در حالت اول، تنظیم در یک خط کامل بلافاصله پس از علامت تعجب (!) انجام میشود، در حالی که در حالت دوم بسته به نوع زمانبندی، پس از «&»، «%» یا «@» قرار میگیرد. توجه داشته باشید که اعلان یک گزینه در یک زمانبندی، اعلان سراسری همان گزینه را بازنویسی میکند.
.PP
گزینهها با کاما (,) از یکدیگر جدا میشوند و آرگومانهای آنها، در صورت وجود، درون پرانتز («(» و «)») قرار گرفته و با کاما جدا میشوند. هیچ فاصله یا گیومهای مجاز نیست. اعلان گزینهها به صورت زیر است:
.sp
.RS
.PP
\fIoption\fR[(\fIarg1\fR[,\fIarg2\fR][...])][,\fIoption\fR[(\fIarg1\fR[...])]][...]
.RE
.PP
که در آن option نام یک گزینه یا مخفف آن است. گزینهها عبارتند از (مقدار پیشفرض در پرانتز آمده است):
.PP
"گزینههای معتبر در FCRONTAB"
.TP
\fBbootrun\fR
.TP
\fBb\fR
\fBboolean\fR(false)
اجرای یک خط & (یعنی مبتنی بر تاریخ و زمان) هنگام راهاندازی \fBfcron\fR (یا بازگشت سیستم پس از تعلیق/خواب زمستانی) در صورتی که زمان اجرای آن در طول خاموشی سیستم بوده باشد. بهطور دقیقتر، چنین کارهایی به صف lavg (اگر یکی از گزینههای lavg تنظیم شده باشد) یا صف serial اضافه میشوند تا از اجرای همزمان کارهای بیش از حد هنگام راهاندازی fcron جلوگیری شود.
.TP
\fBdayand\fR
\fBboolean\fR(true)
انجام AND منطقی بین روز هفته و روز ماه.
\fBهمچنین ببینید\fR: گزینهٔ dayor\&.
.TP
\fBdayor\fR
\fBboolean\fR(false)
انجام OR منطقی بین روز هفته و روز ماه.
\fBهمچنین ببینید\fR: گزینهٔ dayand\&.
.TP
\fBerroronlymail\fR
\fBboolean\fR(false)
ارسال خروجی از طریق ایمیل تنها در صورتی که کار با وضعیتی غیر از صفر (خطا) پایان یافته باشد.
\fBهمچنین ببینید\fR: گزینههای mail، mailto، forcemail، nolog\&.
.TP
\fBexesev\fR
\fBboolean\fR(false)
آیا یک کار میتواند چندین بار بهطور همزمان اجرا شود؟
\fBهمچنین ببینید\fR: گزینههای serialonce، lavgonce\&.
.TP
\fBfirst\fR
.TP
\fBf\fR
\fBtime-value\fR
تأخیر پیش از نخستین اجرای یک کار مبتنی بر زمان بالا بودن سیستم (خطوط «@»). در این حالت مفید است: فرض کنید چندین کار دارید که برای مثال هر ساعت اجرا میشوند. با تنظیم مقادیر first متفاوت برای هر کار، میتوانید از اجرای همزمان آنها در هر بار جلوگیری کنید. همچنین میتوانید آن را برابر با 0 قرار دهید، که در صورت استفاده همراه با گزینهٔ volatile بسیار کاربردی است\&.
.TP
\fBforcemail\fR
\fBboolean\fR(false)
ارسال خروجی از طریق ایمیل حتی در صورت خالی بودن خروجی.
تنظیم این گزینه بر روی true گزینهٔ mail را نیز برابر با true قرار میدهد.
\fBهمچنین ببینید\fR: گزینههای mail، mailto، erroronlymail، nolog\&.
.TP
\fBjitter\fR
\fBinteger\fR(0)
اجرای کار بین 0 تا jitter ثانیه دیرتر از زمانی که باید اجرا میشد. این گزینه فقط برای خطوط & اعمال میشود و برای سیستمهایی طراحی شده است که کارهای زیادی باید در همان دقیقه شروع شوند: گزینهٔ jitter شروع همهٔ آن کارها را بهطور تصادفی در طول نخستین jitter ثانیه از آن دقیقه پخش میکند، به جای آنکه همهٔ آنها را در ثانیه اول دقیقه آغاز کند. آرگومان باید بین 0 تا 255 (شامل هر دو) باشد.
\fBهمچنین ببینید\fR: گزینهٔ random\&.
.TP
\fBlavg\fR
\fBreal\fR(0)
\fBreal\fR(0)
\fBreal\fR(0)
تنظیم مقادیر میانگین بار کاری سیستم (load average) در بازههای ۱، ۵ و ۱۵ دقیقهای (به همین ترتیب) که کار باید در مقادیر پایینتر از آنها اجرا شود. مقادیر حداکثر ۱ رقم اعشار دارند (مانند "2.3"): اگر بیش از ۱ رقم اعشار باشد، مقدار گرد خواهد شد. برای نادیده گرفتن بار میانگین مربوطه مقدار را روی 0 قرار دهید (یا تمام مقادیر را صفر بگذارید تا کار بدون در نظر گرفتن میانگین بار اجرا شود).
\fBهمچنین ببینید\fR: گزینههای lavg1، lavg5، lavg15، until، lavgonce، lavgor، lavgand، strict، noticenotrun\&.
.TP
\fBlavg1\fR
.TP
\fBlavg5\fR
.TP
\fBlavg15\fR
\fBreal\fR(0)
تنظیم آستانهٔ میانگین بار کاری سیستم به ترتیب برای ۱، ۵ یا ۱۵ دقیقه. برای نادیده گرفتن بار میانگین مربوطه مقدار آن را روی 0 قرار دهید.
\fBهمچنین ببینید\fR: گزینههای lavg\&.
.TP
\fBlavgand\fR
\fBboolean\fR(true)
انجام AND منطقی بین مقادیر میانگین بار ۱، ۵ و ۱۵ دقیقه.
\fBهمچنین ببینید\fR: گزینههای lavg، lavgor\&.
.TP
\fBlavgonce\fR
\fBboolean\fR(1)
آیا یک کار میتواند چندین بار بهطور همزمان در صف lavg قرار گیرد؟
\fBهمچنین ببینید\fR: گزینههای lavg\&.
.TP
\fBlavgor\fR
\fBboolean\fR(false)
انجام OR منطقی بین مقادیر میانگین بار ۱، ۵ و ۱۵ دقیقه.
\fBهمچنین ببینید\fR: گزینههای lavg، lavgand\&.
.TP
\fBmail\fR
.TP
\fBm\fR
\fBboolean\fR(true)
ارسال خروجی (در صورت وجود) از طریق ایمیل یا خیر.
تنظیم این گزینه بر روی false گزینهٔ forcemail را نیز بر روی false تنظیم میکند.
\fBهمچنین ببینید\fR: گزینههای mailto، forcemail، erroronlymail، nolog\&.
.TP
\fBmailfrom\fR
\fBemail-address\fR(کاربری که وظیفه با آن اجرا میشود)
استفاده از این آدرس به عنوان نشانی 'From:' هنگام ارسال ایمیل خروجی کارها. میتواند یک نام کاربری تنها یا یک نشانی ایمیل کاملاً واجد شرایط (FQDN) باشد. در حالت اول، \fBfcron\fR نام میزبان را بهطور خودکار اضافه میکند. تنظیم mailfrom به یک مقدار خالی معادل بازنشانی آن به مقدار پیشفرض یعنی نام کاربری است که کار با آن اجرا میشود.
\fBهمچنین ببینید\fR: گزینههای mail، forcemail، erroronlymail، nolog، mailto\&.
.TP
\fBmailto\fR
\fBemail-address\fR(نام مالک فایل)
ارسال خروجی (در صورت نیاز) به "\fIemail-address\fR". میتواند یک نام کاربری تنها یا یک نشانی ایمیل کامل باشد. در حالت اول، \fBfcron\fR نام میزبان را بهطور خودکار اضافه خواهد کرد. اعلان mailto به صورت خالی (رشتهٔ "") معادل "mail(false)" است.
\fBهمچنین ببینید\fR: گزینههای mail، forcemail، erroronlymail، nolog، mailfrom\&.
.TP
\fBnice\fR
.TP
\fBn\fR
\fBnice-value\fR
تغییر اولویت کار. یک \fBnice-value\fR یک عدد صحیح از -20 (بالاترین اولویت) تا 19 (پایینترین) است (تنها root مجاز به استفاده از مقادیر منفی برای این گزینه است).
.TP
\fBnolog\fR
\fBboolean\fR(false)
در صورت تنظیم بر روی true، تنها خطاها برای کار(های) مربوطه ثبت وقایع میشوند. برای کارهایی که به دفعات زیاد اجرا میشوند و/یا برای کاهش دسترسی به دیسک در لپتاپها بسیار مفید است.
\fBهمچنین ببینید\fR: گزینههای mail، mailto، erroronlymail، forcemail\&.
.TP
\fBnoticenotrun\fR
\fBboolean\fR(false)
آیا \fBfcron\fR باید عدم اجرای یک کار % یا یک کار & را با ایمیل به کاربر گزارش دهد؟ (به دلیل خاموش بودن سیستم (شامل تعلیق/خواب زمستانی) برای هر دو یا میانگین بار بسیار بالای سیستم برای دومی).
\fBهمچنین ببینید\fR: گزینههای lavg، strict\&.
.TP
\fBrandom\fR
\fBboolean\fR(false)
در خطی که به صورت دورهای اجرا میشود، این گزینه به این پرسش پاسخ میدهد: آیا این کار باید در زودترین زمان ممکن در بازهٔ زمانی اجرای خود اجرا شود (امنتر)، یا fcron باید یک زمان اجرای تصادفی را در آن بازهٔ زمانی تعیین کند؟ توجه داشته باشید که اگر این گزینه تنظیم شده باشد، در صورتی که fcron در \fBتمام\fR بازهٔ اجرا در حال اجرا نباشد، ممکن است کار اجرا نشود. علاوه بر این، باید بدانید که الگوی تصادفی ممکن است برای افراد ماهر به سادگی قابل حدس باشد؛ بنابراین، نباید برای امنسازی موارد مهم به این گزینه تکیه کنید. با این حال، برای بیشتر کاربردها مشکلی نخواهد داشت.
\fBهمچنین ببینید\fR: گزینهٔ jitter\&.
.TP
\fBrebootreset\fR
\fBboolean\fR(false)
هنگامی که بر روی true تنظیم شود، fcron در هر بار راهاندازی مجدد سیستمعامل طوری رفتار میکند که گویی وظیفه یک وظیفهٔ جدید است. این گزینه بسیار شبیه به volatile است اما به جای راهاندازی مجدد fcron، بر پایهٔ راهاندازی مجدد سیستمعامل عمل میکند. در صورتی که از fcron به این شیوه استفاده میکنید، ممکن است بخواهید از گزینهٔ first نیز استفاده کنید.
\fBهمچنین ببینید\fR: گزینههای first، volatile، runonce، runatreboot، runatresume\&.
.TP
\fBreset\fR
\fBboolean\fR
بازنشانی همهٔ گزینهها به مقادیر پیشفرض.
.TP
\fBrunas\fR
\fBuser-name\fR
اجرا با مجوزها و محیط "\fIuser-name\fR" (تنها root مجاز به استفاده از این گزینه است).
.TP
\fBrunatreboot\fR
\fBboolean\fR(false)
در صورت تنظیم بر روی true، وظیفه هنگام راهاندازی سیستم اجرا خواهد شد (یعنی بلافاصله پس از تأخیر sleeptime-- — بهطور پیشفرض ۲۰ ثانیه — زمانی که دیمن \fBfcron\fR برای نخستین بار پس از بوت سیستمعامل شروع به کار میکند). این علاوه بر زمانبندی عادی است که توسط این گزینه تغییری نخواهد کرد.
برای نمونه، اگر برنامهای باید بلافاصله پس از بوت بهصورت خودکار آغاز شود و از ساعت ۷ صبح تا ۶ عصر اجرا گردد، میتوانید از تعاریف fcrontab زیر استفاده کنید:
.nf
&runatreboot 0 6 * * 1-5 start_my_program.sh
& 0 7 * * 1-5 stop_my_program.sh
.fi
\fBهمچنین ببینید\fR: گزینههای volatile، runonce، runatresume، rebootreset\&.
.TP
\fBrunatresume\fR
\fBboolean\fR(false)
در صورت تنظیم بر روی true، وظیفه هنگام بازگشت سیستم از تعلیق (suspend یا خواب زمستانی) اجرا خواهد شد. این علاوه بر زمانبندی عادی است که توسط این گزینه تغییری نخواهد کرد.
برای نمونه، اگر برنامهای باید بلافاصله پس از بازگشت سیستم بهصورت خودکار آغاز شود و از ساعت ۷ صبح تا ۶ عصر اجرا گردد، میتوانید از تعاریف fcrontab زیر استفاده کنید:
.nf
&runatresume 0 6 * * 1-5 start_my_program.sh
& 0 7 * * 1-5 stop_my_program.sh
.fi
\fBهمچنین ببینید\fR: گزینههای volatile، runonce، runatreboot، rebootreset\&.
.TP
\fBrunfreq\fR
.TP
\fBr\fR
\fBinteger\fR
اجرا به ازای هر "\fIrunfreq\fR" بار تطابق زمان و تاریخ. (این گزینه برای خطوط مبتنی بر زمان بالا بودن سیستم نادیده گرفته میشود).
.TP
\fBrunonce\fR
\fBboolean\fR(false)
پس از یک بار اجرای وظیفه، آن را تا راهاندازی مجدد بعدی سیستمعامل (در صورت تنظیم نبودن volatile) یا تا شروع مجدد بعدی دیمن \fBfcron\fR (در صورت تنظیم بودن volatile) مجدداً زمانبندی نکن.
\fBهمچنین ببینید\fR: گزینههای volatile، rebootreset، runatreboot، runatresume\&.
.TP
\fBserial\fR
.TP
\fBs\fR
\fBboolean\fR(false)
\fBFcron\fR حداکثر ۱ کار سریالی (یعنی کارهایی که گزینهٔ serial برای آنها بر روی true تنظیم شده) و همان تعداد کار سریالی lavg (یعنی کارهایی که هر دو گزینهٔ serial و lavg (یا lavg1 یا lavg5 یا lavg15) برای آنها بر روی true تنظیم شده) را بهطور همزمان اجرا میکند. این مقدار ممکن است توسط گزینهٔ \fB-m\fR در \fBfcron\fR تغییر یابد. این گزینه بهویژه هنگام استفاده از کارهای سنگین و مصرفکنندهٔ منابع به منظور محدود کردن بار اضافی سیستم بسیار کاربردی است.
\fBهمچنین ببینید\fR: گزینههای serialonce، lavg\&.
.TP
\fBserialonce\fR
\fBboolean\fR(0)
آیا یک کار میتواند چندین بار بهطور همزمان در صف serial قرار گیرد؟
\fBهمچنین ببینید\fR: گزینههای exesev، lavgonce\&.
.TP
\fBstdout\fR
\fBboolean\fR(false)
اگر fcron در پیشزمینه در حال اجرا باشد، به کارها اجازه میدهد بهجای ارسال ایمیل یا دور انداختن خروجی، آن را در stderr/stdout چاپ کنند.
\fBهمچنین ببینید\fR: گزینهٔ once-- در \fBfcron\fR(8)\&.
.TP
\fBstrict\fR
\fBboolean\fR(true)
هنگامی که یک کار % از نوع lavg در پایان بازهٔ زمانی اجرای خود قرار دارد، آیا باید از صف lavg حذف شود (strict(true)، در نتیجه کار اجرا نمیشود) یا تا زمانی که میانگین بار سیستم اجازهٔ اجرای آن را بدهد در صف باقی بماند (strict(false))؟
\fBهمچنین ببینید\fR: گزینههای lavg، noticenotrun\&.
.TP
\fBtimezone\fR
\fBtimezone-name\fR(منطقه زمانی سیستم)
اجرای کار در منطقهٔ زمانی مشخصشده. timezone-name یک رشته است که برای متغیر محیطی TZ معتبر باشد: برای جزئیات بیشتر به مستندات سیستم خود مراجعه کنید. برای مثال، "Europe/Paris" یا "Asia/Tehran" در یک سیستم لینوکس معتبر است. این گزینه تغییرات ساعت تابستانی را به درستی مدیریت میکند. هنگام اجرای کاری که این گزینه را تعریف کرده، متغیر محیطی TZ برابر با مقدار timezone تنظیم میشود.
لطفاً توجه داشته باشید که اگر یک آرگومان timezone-name نادرست وارد کنید، بدون هیچ هشداری نادیده گرفته شده و کار در منطقهٔ زمانی سیستم اجرا خواهد شد.
هشدار: از گزینهٔ timezone و گزینهٔ tzdiff بهطور همزمان استفاده نکنید! نیازی به این کار نیست و timezone بسیار هوشمندانهتر از tzdiff عمل میکند.
\fBهمچنین ببینید\fR: گزینههای tzdiff\&.
.TP
\fBtzdiff\fR
\fBinteger\fR(0)
هشدار: این گزینه منسوخ شده است: بهجای آن از گزینهٔ timezone استفاده کنید!
اختلاف منطقهٔ زمانی (به ساعت، بین -24 تا 24) بین زمان سیستم و زمان واقعی محلی. این گزینه به کاربر اجازه میدهد خطوط & و % خود را در زمان محلی تعریف کند. توجه داشته باشید که این مقدار برای کل یک فایل fcrontab تنظیم میشود و تنها آخرین تعریف لحاظ خواهد شد. tzdiff بسیار ابتدایی است: تغییرات ساعت تابستانی را مدیریت نمیکند در حالی که گزینهٔ timezone این کار را انجام میدهد، بنابراین باید از دومی استفاده کنید.
\fBهمچنین ببینید\fR: گزینههای timezone\&.
.TP
\fBuntil\fR
\fBtime-value\fR(0)
تنظیم مهلت زمانی برای انتظار به منظور رسیدن به مقادیر میانگین بار مورد نظر سیستم. در صورت اتمام مهلت زمانی، کار بدون در نظر گرفتن میانگین بار اجرا میشود. برای حذف مهلت زمانی، until را روی 0 تنظیم کنید.
\fBهمچنین ببینید\fR: گزینههای lavg\&.
.TP
\fBvolatile\fR
\fBboolean\fR(false)
هنگامی که روی true تنظیم شود، کار بر پایهٔ زمان روشن بودن «فرار» سیستم زمانبندی میشود، یعنی با هر بار شروع \fBfcron\fR شمارش از ابتدا آغاز میشود؛ این ویژگی زمانی مفید است که \fBfcron\fR توسط اسکریپتی اجرا شود که مثلاً تنها در طول یک اتصال dialup اجرا میشود: در این صورت زمان روشن بودن «فرار» به مدت زمان اتصال dialup اشاره دارد. در صورتی که از fcron به این شیوه استفاده میکنید، ممکن است بخواهید از گزینهٔ first نیز استفاده کنید.
\fBهمچنین ببینید\fR: گزینههای first، stdout، rebootreset، خطوط مبتنی بر زمان بالا بودن سیستم، و آرگومان خط فرمان once-- در \fBfcron\fR(8)\&.
.PP
یک آرگومان \fBboolean\fR میتواند بدون مقدار باشد، که در این حالت پرانتز استفاده نمیشود و به معنای true است؛ رشتههای "true"، "yes" یا عدد 1 به معنای true هستند؛ و رشتههای "false"، "no" یا عدد 0 به معنای false میباشند\&. برای توضیحات دربارهٔ مقدار زمانی به بخش «ورودیهای مبتنی بر زمان بالا بودن سیستم» در بالا مراجعه کنید.
.PP
توجه داشته باشید که dayand و dayor در واقع یک گزینه هستند: مقدار false برای dayand معادل مقدار true برای dayor است، و برعکس مقدار false برای dayor معادل مقدار true برای dayand است\&. همین امر برای lavgand و lavgor نیز برقرار است\&.
.PP
به یک حالت خاص که باید مدیریت شود توجه کنید: یک کار باید وارد صف serial شود، *اما* ورودی قبلی این کار هنوز کامل نشده است (به دلیل بار بالای سیستم یا برخی رویدادهای خارجی). گزینهٔ serialonce به این پرسش پاسخ میدهد: آیا ورودی جدید کار باید نادیده گرفته شود؟ به این ترتیب میتوان بین کارهایی که باید تعداد دفعات مشخصی اجرا شوند (ترجیحاً در زمانهای تعیینشده) و وظایفی که فارغ از تعدادشان باید انجام شوند (serialonce(true) <\- ) تفاوت قائل شد، که باعث میشود سیستم پاسخدهی سریعتری داشته باشد.
.PP
همین ملاحظات برای صف میانگین بار نیز اعمال میشود و میتوان آن را با گزینهٔ lavgonce بیان کرد\&.
.PP
علاوه بر این، اگر صف serial یا صف lavg به ترتیب حاوی بیش از ۳۰ و ۳۰ کار باشند، برای جلوگیری از اشباع منابع سیستم، از پذیرش هر کار جدید خودداری شده و اجرا نمیشود. در این حالت، یک پیام خطا از طریق syslog ثبت میگردد.
.PP
در نهایت، اگر هنگام متوقف شدن fcron کارهایی در صفهای lavg یا serial باقی مانده باشند، در زمان راهاندازی یک بار در صف متناظر قرار خواهند گرفت (ممکن است ترتیب آنها حفظ نشود).
.PP
.SS "نمونهای از تعریف گزینهها (AN EXAMPLE OF AN OPTION DECLARATION)"
.nf
!reset,serial(true),dayor,bootrun(0),mailto(root),lavg(.5,2,1.5)
.fi
.SH "مثالها (EXAMPLES)"
.PP
.SS "نمونهای از FCRONTAB یک کاربر (AN EXAMPLE OF A USER FCRONTAB)"
.nf
# استفاده از /bin/bash برای اجرای دستورات، بدون توجه به محتوای /etc/passwd
SHELL=/bin/bash
# ارسال خروجی با ایمیل به thib، بدون توجه به اینکه این fcrontab متعلق به کیست
!mailto(thib)
# تعریف یک متغیر که معادل " Hello thib and paul! " است
# در اینجا نویسههای خط جدید با یک بکاسلش (\\) گریز داده شدهاند
# و از گیومهها برای حفظ فاصلههای ابتدایی و انتهایی استفاده شده است
TEXT= " Hello\\
thib and\\
paul! "
# میخواهیم از serial استفاده کنیم اما نه از bootrun:
!serial(true),b(0)
# بار نخست پس از پنج دقیقه اجرا شود،
# سپس هر یک ساعت یک بار اجرا گردد
@first(5) 1h echo "Run every hour"
# هر روز اجرا شود
@ 1d echo "fcron daily"
# یک بار در صبح و یک بار در بعدازظهر اجرا شود
# در صورتی که سیستم در هر لحظهای از این بازههای زمانی روشن باشد
%hours * 8-12,14-18 * * * echo "Hey boss, I'm working today!"
# یک بار در هفته در طول زمان ناهار اجرا شود
%weekly * 12-13 echo "I left my system on at least once \\
at lunch time this week."
# هر یکشنبه و شنبه در ساعت 9:05 اجرا شود
5 9 * * sat,sun echo "Good morning Thibault!"
# در تمام روزهای زوج ماه مارس در ساعت 18:00 اجرا شود، به جز روز شانزدهم
0 18 2-30/2~16 Mar * echo "It's time to go back home!"
# خط بالا معادل خط زیر است
& 0 18 2-30/2~16 Mar * echo "It's time to go back home!"
# بازنشانی گزینهها به حالت پیشفرض و تنظیم runfreq برای خطوط زیر
!reset,runfreq(7)
# با توجه به تعریف بالا هر ۷ بار تطابق یک بار اجرا شود،
# بنابراین اگر سیستم هر روز در ساعت 10:00 روشن باشد، این دستور
# هفتهای یک بار اجرا خواهد شد
& 0 10 * * * echo "if you got this message last time 7 days ago,\\
this computer has been running every day at 10:00 last week.\\
If you got the message 8 days ago, then the system has been down \\
one day at 10:00 since you got it, etc"
# هر ساعت منتظر میانگین بار ۵ دقیقهای زیر 0.9 بماند
@lavg5(0.9) 1h echo "The system load average is low"
# هر روز حداکثر ۵ ساعت برای کاهش میانگین بار منتظر بماند
@lavgand,lavg(1,2.0,3.0),until(5h) 1d echo "Load average is going down"
# منتظر بهترین زمان برای اجرای یک کار سنگین بماند
@lavgor,lavg(0.8,1.2,1.5),nice(10) 1w echo "This is a heavy job"
# هر شب یک بار، یا بین ساعتهای 21:00 و 23:00 یا
# بین ساعتهای 3:00 و 6:00 اجرا شود
%nightly,lavg(1.5,2,2) * 21-23,3-6 echo "It's time to retrieve \\
the latest release of Mozilla!"
.fi
.SH "فایلها (FILES)"
.TP
\fB\fI/usr/local/etc/fcron.conf\fB\fR
فایل پیکربندی برای \fBfcron\fR، \fBfcrontab\fR و
\fBfcrondyn\fR: شامل مسیرها (دایرکتوری spool، فایل pid) و برنامههای پیشفرض مورد استفاده
(ویرایشگر، پوسته و غیره). برای جزئیات بیشتر به \fBfcron.conf\fR(5) مراجعه کنید.
.TP
\fB\fI/usr/local/etc/fcron.allow\fB\fR
کاربران مجاز به استفاده از \fBfcrontab\fR و \fBfcrondyn\fR (یک
نام در هر خط، نام ویژهٔ "all" نشاندهندهٔ همهٔ کاربران است).
.TP
\fB\fI/usr/local/etc/fcron.deny\fB\fR
کاربرانی که مجاز به استفاده از \fBfcrontab\fR و
\fBfcrondyn\fR نیستند (با قالبی مشابه فایل allow).
.TP
\fB\fI/usr/local/etc/pam.d/fcron\fB (یا \fI/usr/local/etc/pam.conf\fB)\fR
فایل پیکربندی PAM برای
\fBfcron\fR\&. برای جزئیات بیشتر به pam(8) مراجعه کنید.
.SH "همچنین ببینید (SEE ALSO)"
\fBfcrontab\fR(1)،
\fBfcrondyn\fR(1)،
\fBfcrontab\fR(5)،
\fBfcron.conf\fR(5)،
\fBfcron\fR(8).
اگر در حال یادگیری نحوهٔ استفاده از fcron از ابتدا هستید، پیشنهاد میکنم
نسخهٔ HTML مستندات را مطالعه کنید (در صورتی که هماکنون در حال خواندن آن نیستید! :) ):
محتوا یکسان است، اما به لطف پیوندها مرور آن آسانتر است.
.SH "نویسندگان (AUTHORS)"
.PP
Thibault Godouet