ANACRON(8) System Administration ANACRON(8)

anacron - اجرای دوره‌ای دستورها

anacron [-s] [-f] [-n] [-d] [-q] [-t anacrontab] [-S spooldir] [job]
anacron [-S spooldir] -u [-t anacrontab] [job]
anacron [-V|-h]
anacron -T [-t anacrontab]

Anacron برای اجرای دوره‌ای دستورها با بسامدی که بر حسب روز مشخص می‌شود، به کار می‌رود. بر خلاف cron(8)، این برنامه فرض را بر این نمی‌گذارد که دستگاه به‌طور مداوم در حال کار است. از این رو، می‌توان از آن در سیستم‌هایی که ۲۴ ساعته روشن نیستند برای کنترل وظایف منظم مانند کارهای روزانه، هفتگی و ماهانه استفاده کرد.

برنامه Anacron فهرستی از کارها را از فایل پیکربندی /etc/anacrontab می‌خواند (به anacrontab(5) مراجعه کنید). این فایل حاوی فهرستی از کارهایی است که توسط Anacron کنترل می‌شوند. هر مدخلِ کار مشخص‌کننده یک دوره تناوب بر حسب روز، تاخیر بر حسب دقیقه، شناسه یکتای کار و یک دستور شل است.

برای هر کار، Anacron بررسی می‌کند که آیا این کار در طول n روز گذشته اجرا شده است یا خیر، که در آن n دوره زمانی مشخص‌شده برای آن کار است. اگر کاری در n روز یا بیشتر اجرا نشده باشد، Anacron پس از سپری شدن دقایق تعیین‌شده به عنوان پارامتر تاخیر، دستور شل آن کار را اجرا می‌کند.

پس از خروج دستور، Anacron تاریخ (بدون در نظر گرفتن ساعت) را در یک فایل مهر زمانی ویژه برای آن کار ثبت می‌کند تا بداند چه زمانی باید آن کار را دوباره اجرا کند.

هنگامی که کار دیگری برای اجرا باقی نمانده باشد، Anacron خارج می‌شود.

برنامه Anacron تنها کارهایی را در نظر می‌گیرد که شناسه آن‌ها، همان‌طور که در anacrontab(5) مشخص شده است، با هر یک از آرگومان‌های خط فرمان job مطابقت داشته باشد. آرگومان‌های خط فرمان job می‌توانند با الگوهای عام شل (wildcard) مشخص شوند (حتماً آن‌ها را با نقل‌قول مناسب در برابر تفسیر شل محافظت کنید). مشخص نکردن هیچ آرگومان job در خط فرمان معادل مشخص کردن "*" است (یعنی تمامی کارها توسط Anacron در نظر گرفته می‌شوند).

مگر در حالتی که Anacron با گزینه -d (که در ادامه توضیح داده شده) اجرا شود، به محض شروع به پس‌زمینه فورک پیدا کرده و تمام فرآیندهای والد بی‌درنگ خارج می‌شوند.

مگر در حالتی که Anacron با گزینه‌های -s یا -n اجرا شود، به محض پایان تاخیر هر کار، اجرای آن را بلافاصله آغاز می‌کند. اجرای کارهای مختلف کاملاً مستقل از یکدیگر است.

اگر یک کارِ اجراشده هرگونه خروجی در خروجی استاندارد یا خطای استاندارد تولید کند، این خروجی برای کاربری که Anacron تحت آن در حال اجراست (معمولاً کاربر ریشه root)، یا به نشانی مشخص‌شده در متغیر محیطی MAILTO در فایل /etc/anacrontab (در صورت وجود) ایمیل می‌شود. اگر متغیر محیطی LOGNAME تنظیم شده باشد، در فیلد :From ایمیل استفاده خواهد شد.

هرگونه پیام اطلاعاتی تولیدشده توسط Anacron به syslogd(8) یا rsyslogd(8) با تسهیلات (facility) تنظیم‌شده روی cron و با اولویت notice ارسال می‌شود. هرگونه پیام خطا با اولویت error فرستاده می‌شود.

کارهای «فعال» (یعنی کارهایی که Anacron پیش‌تر تصمیم به اجرای آن‌ها گرفته و اکنون در انتظار سپری شدن زمان تاخیر خود هستند، و کارهایی که در حال حاضر توسط Anacron در حال اجرا می‌باشند)، «قفل» می‌شوند تا سایر نمونه‌های Anacron نتوانند آن‌ها را به طور همزمان اجرا کنند.

اجرای تمامی کارها را بدون در نظر گرفتن مهرهای زمانی تحمیل می‌کند.
مهرهای زمانی تمام کارها را به تاریخ جاری به‌روزرسانی می‌کند، اما هیچ کاری را اجرا نمی‌کند.
اجرای کارها را متوالی (سریالی) می‌کند. Anacron کار جدیدی را قبل از پایان کار قبلی آغاز نخواهد کرد.
کارها را بلافاصله اجرا کرده و تاخیرهای تعیین‌شده در فایل /etc/anacrontab را نادیده می‌گیرد. این گزینه مستلزم استفاده از -s است.
از رفتن Anacron به پس‌زمینه جلوگیری می‌کند. در این حالت، Anacron پیام‌های اطلاعاتی را به خطای استاندارد و همچنین به syslog ارسال می‌کند. خروجی هر کار توسط Anacron ایمیل می‌شود.
از ارسال هرگونه پیام به خطای استاندارد جلوگیری می‌کند. تنها همراه با گزینه -d کاربرد دارد.
از anacrontab مشخص‌شده به جای فایل پیش‌فرض /etc/anacrontab استفاده می‌کند.
آزمودن anacrontab. معتبر بودن فایل پیکربندی /etc/anacrontab را بررسی می‌کند. اگر خطایی در فایل وجود داشته باشد، در خروجی استاندارد نشان داده شده و Anacron مقدار 1 را برمی‌گرداند. فایل‌های anacrontab معتبر مقدار 0 را برمی‌گردانند.
از spooldir مشخص‌شده برای ذخیره مهرهای زمانی استفاده می‌کند. این گزینه برای کاربرانی که مایلند anacron را خودشان اجرا کنند لازم است.
اطلاعات نسخه برنامه را نمایش داده و خارج می‌شود.
پیام کوتاه نحوه استفاده را نمایش داده و خارج می‌شود.

پس از دریافت سیگنال SIGUSR1، برنامه Anacron منتظر اتمام کارهای در حال اجرا می‌ماند و سپس خارج می‌شود. از این سیگنال می‌توان برای توقف تمیز Anacron استفاده کرد.

پیش از شروع به کار Anacron اطمینان حاصل کنید که منطقه زمانی (time-zone) به درستی تنظیم شده باشد، زیرا منطقه زمانی بر تاریخ تاثیر می‌گذارد. این کار معمولاً با تنظیم متغیر محیطی TZ یا با نصب فایل /usr/lib/zoneinfo/localtime انجام می‌شود. برای اطلاعات بیشتر به tzset(3) مراجعه کنید.

فایل‌های مهر زمانی برای هر کارِ مشخص‌شده در anacrontab در دایرکتوری spool ایجاد می‌شوند. این فایل‌ها هرگز به‌صورت خودکار توسط Anacron حذف نمی‌شوند و اگر کاری دیگر زمان‌بندی نمی‌شود، باید به صورت دستی حذف گردند.

/etc/anacrontab
شامل مشخصات کارها است. برای توضیحات کامل به anacrontab(5) مراجعه کنید.
/var/spool/anacron
این دایرکتوری توسط Anacron برای ذخیره فایل‌های مهر زمانی استفاده می‌شود.

anacrontab(5)، cron(8)، tzset(3)

فایل README برنامه Anacron.

برنامه Anacron هرگز فایل‌های مهر زمانی را حذف نمی‌کند. فایل‌های بلااستفاده را به صورت دستی حذف کنید.

برنامه Anacron برای هر کارِ فعال تا دو توصیف‌گر فایل استفاده می‌کند. در صورت وجود کارهای فعال بسیار زیاد، ممکن است توصیف‌گرهای فایل به اتمام برسند. برای کسب اطلاعات درباره تعداد کارهای همزمانی که anacron می‌تواند اجرا کند، خروجی دستور echo $(($(ulimit -n) / 2)) را ببینید.

نظرات، پیشنهادات و گزارش‌های اشکال را به نشانی زیر ایمیل کنید: Sean 'Shaleh' Perry.

برنامه Anacron در ابتدا توسط Christian Schwarz طراحی و پیاده‌سازی شد.

پیاده‌سازی فعلی بازنویسی کاملی است توسط Itai Tzur.

پایگاه کد توسط Sean 'Shaleh' Perry نگهداری می‌شد.

از سال ۲۰۰۴، نگهداری آن توسط Pascal Hakim انجام می‌شود.

برای توزیع فدورا (Fedora)، برنامه Anacron توسط Marcela Mašláňová نگهداری می‌شود.

2012-11-22 cronie