FCRONTAB(1) FCRONTAB(1)

fcrontab - مدیریت پرونده‌های fcrontab برای هر کاربر مطابق با قالب تعریف‌شده در fcrontab(5)

fcrontab [ -c file ] [ -n ] file [ user | -u user ]

fcrontab [ -c file ] [ -n ] { -l | -r | -e | -z } [ user | -u user ]

fcrontab [ -h ]

برنامه fcrontab برای نصب، ویرایش، فهرست کردن و حذف جدول‌های مورد استفاده توسط دیمن fcron(8) در نظر گرفته شده است. از آنجا که fcron در لایه داخلی از قالبی غیرقابل‌خواندن توسط انسان استفاده می‌کند (این امر لازم است زیرا fcron اطلاعات بیشتری نسبت به آنچه کاربر ارائه داده ذخیره می‌کند؛ به عنوان مثال زمان و تاریخ اجرای بعدی)، کاربر نمی‌تواند fcrontab خود (فایلی که مستقیماً توسط fcron استفاده می‌شود) را مستقیماً ویرایش کند.

هنگامی که یک کاربر یک fcrontab را نصب می‌کند، فایل منبع در دایرکتوری اسپول (/usr/local/var/spool/fcron) ذخیره می‌شود تا امکان ویرایش آن فراهم باشد، و یک فایل قالب‌بندی‌شده برای دیمن fcron تولید می‌شود. این فایل قالب‌بندی‌شده (غیرقابل‌خواندن توسط انسان) به همراه تمام تغییرات اخیر برای دیمن ارسال می‌شود. دیمن فوراً از تغییرات مطلع نمی‌شود بلکه پس از گذشت مدتی آگاه می‌گردد تا از مسدود کردن دیمن توسط کاربران بدخواه از طریق نصب مکرر و پی‌درپی fcrontab (یعنی حمله محروم‌سازی از سرویس یا DoS) جلوگیری شود. به طور پیش‌فرض، فایل یک‌بار در هر دقیقه (حدود ده ثانیه پیش از دقیقه کامل) برای دیمن ارسال می‌شود؛ پارامتر زمان ساخت --with-max-fcrontab-reload-delay-seconds می‌تواند برای تعیین حداکثر زمان متفاوت جهت ارسال این داده‌ها به کار رود. در ادامه ما به فایل منبع fcrontab عبارت "fcrontab" را اطلاق می‌کنیم.

فایل‌های fcrontab که کاربر ویرایش می‌کند باید از قالب تعریف‌شده در fcrontab(5) پیروی کنند.

کاربران در صورتی می‌توانند یک fcrontab را نصب کنند که نام آنها در /usr/local/etc/fcron.allow آمده باشد و در /usr/local/etc/fcron.deny ذکر نشده باشد (بخش "فایل‌ها" در زیر را ببینید). کلیدواژه 'all' کوتاه‌نوشتی برای همه کاربران است. اگر هیچ‌یک از فایل‌های fcron.allow یا fcron.deny وجود نداشته باشند، همه کاربران مجاز هستند. وجود هیچ‌کدام از این فایل‌ها الزامی نیست، اما در صورت وجود، فایل deny اولویت دارد.

شکل اول این دستور برای نصب یک فایل fcrontab جدید استفاده می‌شود؛ از هر فایل مشخص‌شده یا از ورودی استاندارد (اگر نام مجازی "-" داده شود)، و جایگزین فایل قبلی (در صورت وجود) می‌گردد. هر کاربر تنها می‌تواند یک fcrontab داشته باشد.

برای نمونه، کاربر root می‌تواند یک فایل fcrontab سراسری برای کل سیستم ایجاد کند (مثلاً /etc/fcrontab) و پس از هر بار تغییر فایل، دستور "fcrontab /etc/fcrontab" را برای نصب نسخه جدید اجرا نماید. همچنین کاربر root می‌تواند با اجرای دستور ساده "fcrontab" یک fcrontab جدید ایجاد کرده و سپس با "fcrontab -e" آن را نگهداری و ویرایش کند. همین نکات برای یک کاربر عادی بدون امتیاز ویژه نیز صدق می‌کند.

مشخص کردن کاربری که fcrontab او مدیریت خواهد شد، یا "systab" برای fcrontab سیستمی. این گزینه فقط باید توسط root استفاده شود. در صورت عدم تعیین، فایل fcrontab کاربری که fcrontab را فراخوانی کرده رسیدگی می‌شود. این گزینه ممکن است کاربردی باشد زیرا دستور su(8) ممکن است باعث سردرگمی fcrontab شود.
نکته: عبارت 'user' در خلاصه دستور معادل است.
فهرست کردن fcrontab فعلی کاربر در خروجی استاندارد.
ویرایش fcrontab فعلی کاربر با استفاده از ویرایشگر مشخص‌شده توسط متغیر محیطی VISUAL، یا در صورت تنظیم نبودن آن، EDITOR. اگر هیچ‌یک تنظیم نشده باشند، از /usr/bin/vi استفاده خواهد شد.
حذف fcrontab کاربر.
نصب مجدد fcrontab کاربر از روی کد منبع آن. تمامی اطلاعاتی که fcron ممکن است در فایل دودویی fcrontab نگه داشته باشد (مانند زمان و تاریخ آخرین اجرا) فراموش (یعنی از دست رفته) خواهند شد.
نادیده گرفتن نسخه قبلی. اگر این گزینه مشخص نشود، fcron تلاش خواهد کرد تا حد امکان اطلاعات بین نسخه قدیم و جدید fcrontab را حفظ کند (زمان و تاریخ اجرای بعدی، وضعیت قرارگیری وظیفه در صف ترتیبی، و غیره)، مشروط بر اینکه خط تغییری نکرده باشد (فیلدهای یکسان، دستور شل یکسان).
وادار کردن fcrontab به استفاده از فایل پیکربندی file به جای فایل پیکربندی پیش‌فرض /usr/local/etc/fcron.conf. برای تعامل با یک فرآیند در حال اجرای fcron، دستور fcrontab باید از همان فایل پیکربندی فرآیند استفاده کند. به این ترتیب، چندین فرآیند fcron می‌توانند به طور هم‌زمان روی یک سیستم اجرا شوند.
اجرا در حالت دیباگ (اشکال‌زدایی). در این حالت، پیام‌های اطلاعاتی متعددی برای بررسی وقوع هرگونه خطا خروجی داده می‌شوند.
نمایش توضیح مختصری از گزینه‌ها.
نمایش یک پیام اطلاعاتی درباره fcrontab، شامل نسخه و مجوزی که تحت آن منتشر شده است.

دستور fcrontab در خروج عادی مقدار 0 و در صورت بروز خطا مقدار 1 را برمی‌گرداند.

باید با استاندارد POSIX سازگار باشد.

/usr/local/etc/fcron.conf
فایل پیکربندی برای fcron، fcrontab و fcrondyn: شامل مسیرها (دایرکتوری اسپول، فایل pid) و برنامه‌های پیش‌فرض مورد استفاده (ویرایشگر، شل و غیره). برای جزئیات بیشتر به fcron.conf(5) مراجعه کنید.
/usr/local/etc/fcron.allow
کاربران مجاز به استفاده از fcrontab و fcrondyn (یک نام در هر خط، نام ویژه "all" برای همه اعمال می‌شود).
/usr/local/etc/fcron.deny
کاربرانی که مجاز به استفاده از fcrontab و fcrondyn نیستند (قالبی مشابه با فایل allow).
/usr/local/etc/pam.d/fcron (یا /usr/local/etc/pam.conf)
فایل پیکربندی PAM برای fcron. برای جزئیات بیشتر به pam(8) نگاهی بیندازید.

fcrontab(1),

fcrondyn(1),

fcrontab(5),

fcron.conf(5),

fcron(8).

اگر کار با fcron را از صفر یاد می‌گیرید، پیشنهاد می‌کنم نسخه HTML مستندات را بخوانید (اگر همین الان در حال خواندن آن نیستید! :) ): محتوا یکسان است، اما به لطف پیوندها مرور آن ساده‌تر است.

Thibault Godouet <fcron@free.fr>

22 March 2025 03/22/2025