incrond(8) incron documentation incrond(8)

incrond - دیمن اینوتیفای کرون (incron)

incrond [ -f فایل ] [ -n | -k ]

دیمن اینوتیفای کرون (incrond) دیمنی است که رویدادهای سیستم‌فایل را پایش کرده و دستورهای تعریف‌شده در جدول‌های سیستمی و کاربری را اجرا می‌کند. کاربرد آن به‌طور کلی مشابه cron(8) است.

دستور incrond می‌تواند از /etc/rc، /etc/rc.local و مانند آن‌ها راه‌اندازی شود. این برنامه خود را به‌طور خودکار به دیمن تبدیل می‌کند (بلافاصله به خط فرمان بازمی‌گردد) و نیازی نیست با & و از طریق nohup(1) راه‌اندازی شود. همچنین امکان اجرای آن در پیش‌زمینه نیز وجود دارد.

دستور incrond از دو دسته جدول incrontab(5) استفاده می‌کند. جدول‌های سیستمی معمولاً در /etc/incron.d قرار دارند و بیرون از incron (برای نمونه توسط برنامه‌های گوناگون) نگهداری می‌شوند. این جدول‌ها در سطح دسترسی کاربر ریشه (root) کار می‌کنند و بنابراین هر فایلی می‌تواند پایش شود و دستورها با اختیارات ریشه اجرا می‌شوند.

جدول‌های کاربری به‌طور پیش‌فرض در /var/spool/incron قرار دارند و نام آن‌ها بر اساس حساب‌های کاربری است. این جدول‌ها از مجوزهای دسترسی کاربران استفاده می‌کنند، بنابراین فقط فایل‌هایی که کاربر اجازه دسترسی به آن‌ها را دارد پایش می‌شوند. دستورها نیز با اختیارات کاربر اجرا می‌گردند.

اگر یک جدول (incrontab) تغییر کند، incrond بلافاصله واکنش نشان داده و جدول را دوباره بارگذاری می‌کند. فرایندهای فرزند در حال اجرا (دستورها) تحت تأثیر قرار نمی‌گیرند.

دو فایل تعیین می‌کنند که آیا یک کاربر مجاز به استفاده از incron است یا خیر. این فایل‌ها ساختار بسیار ساده‌ای دارند - یک نام کاربری در هر سطر. اگر /etc/incron.allow وجود داشته باشد، نام کاربر باید در آن قید شده باشد تا اجازه استفاده از incron را داشته باشد. در غیر این صورت اگر /etc/incron.deny وجود داشته باشد، نام کاربر نباید در آن ذکر شده باشد تا بتواند از incron استفاده کند. اگر هیچ‌یک از این فایل‌ها وجود نداشته باشد، هیچ محدودیت دیگری وجود ندارد و هر کسی می‌تواند از incron استفاده کند. مکان این فایل‌ها را می‌توان در پیکربندی تغییر داد.

خود دیمن در حال حاضر در برابر ایجاد حلقه محافظت نشده است. اگر دستوری که در اثر یک رویداد اجرا می‌شود خود موجب همان رویداد شود، منجر به یک حلقه بی‌نهایت خواهد شد مگر اینکه ماسک فلگی شامل loopable=true مشخص شده باشد. لطفاً به این نکته توجه داشته باشید و اجازه استفاده از incron را به کاربران غیرقابل اعتماد ندهید.

گزینه -n (یا --foreground) باعث اجرا در پیش‌زمینه می‌شود. این ویژگی به‌ویژه برای آزمایش، اشکال‌زدایی و بهینه‌سازی مفید است.

گزینه -k (یا --kill) نمونه در حال اجرای incrond را خاتمه می‌دهد.

گزینه -f <FILE> (یا --config=<FILE>) مسیر دیگری را برای فایل پیکربندی مشخص می‌کند (به‌طور پیش‌فرض از /etc/incron.conf استفاده می‌شود).

متغیرهای محیطی: برای جدول‌های سیستمی، از مجموعه متغیرهای محیطی پیش‌فرض (مشابه خود incrond) استفاده می‌شود. همین قاعده برای جدول کاربر ریشه نیز صادق است. برای جدول‌های کاربران غیرریشه، کل متغیرهای محیطی پاک می‌شوند و سپس تنها این متغیرها تنظیم می‌گردند: LOGNAME، USER، USERNAME، SHELL، HOME و PATH. این متغیرها (به‌جز PATH) مقادیر خود را از پایگاه‌داده کاربر (مانند /etc/passwd) دریافت می‌کنند. متغیر PATH بر روی /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin تنظیم می‌شود.

incrontab(1)، incrontab(5)، incron.conf(5)

دستور incrond در حال حاضر در برابر ایجاد حلقه مقاوم نیست.

Andreas Altair Redmer <altair.ibn.la.ahad.sy@gmail.com> (لطفاً اشکالات را به https://github.com/ar-/incron/issues گزارش دهید).
Lukas Jelinek <lukas@aiken.cz>.

این برنامه نرم‌افزار آزاد است؛ می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GPL) نسخه ۲، استفاده و بازتوزیع کرده یا تغییر دهید.

0.5.12 Lukas Jelinek