خودکارسازی فرایندها در گنو/لینوکس
به عنوان یک مدیر سیستم، شما باید اقداماتی را دائما انجام دهید. هر بار که این اقدامات تکراری را انجام می‌دهید که ممکن است زمانبر باشند، زمان خود را برای انجام سایر امور از دست خواهید داد و ممکن است حتی زمانی برای انجام آنها نداشته باشید. برخی اوقات ممکن است نیاز داشته باشید تا برخی امور را زمانی که فایل سیستم دارای حداقل درگیری است انجام دهید. مانند صبح بسیار زود یا نیمه شب.
راه‌حل این مشکلات خودکارسازی امور و نوشتن اسکریپت‌های پوسته برای آنهاست. شما می‌توانید به سیستم
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
خود بگویید هنگامی که شما در خواب هستید، کارهایتان را انجام دهد
.
سه ابزار خودکارسازی که بطور معمول وجود دارند، می‌توانند هر برنامه، دستور یا اسکریپتی را اجرا نمایند. هر یک از این ابزارها دارای روش اجرای خاص خودش می‌باشد.
دستور at
دستور at می‌تواند برنامه یا دستور مورد نظر شما را در ساعت خاصی اجرا کند. این دستور تنها می‌تواند دستور داده شده را یکبار اجرا کند. زمان مشخص شده در دستور at می‌تواند هز زمانی در آینده باشد، از ساعت و دقیقه گرفته تا تعداد روز. استفاده از دستور at به دو شکل امکان پذیر است:
کد:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
کنید
Only
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
Users Can See Links[/COLOR][/CODE]
جدول ۱ گزینه‌های این دستور را شرح داده است.


Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
جدول۱ گزینه‌های دستور at
زمان بخشی اجباری در دستور at می‌باشد، به غیر از هنگامی که از گزینه l- استفاده می‌کنید. فرمت زمان وارد شده می‌تواند به صورت ۱۲ ساعته با فرمت hh:mm که پس از آن pm یا am قرار خواهد گرفت و یا با فرمت ۲۴ ساعته به صورت چهار رقمی مانند ۱۶۲۰ باشد. همچنین شما می‌توانید بجای استفاده از زمان‌های عددی، از کلمات کلیدی مانند midnight، noon، teatime یا now نیز استفاده کنید.
با مشخص کردن تاریخ می‌توانید محدوده اجرایی دستور at را باز هم گسترده‌تر نمایید. نام ماه را باید بصورت متنی و روز ماه را بصورت عددی مشخص کنید. این امکان وجود دارد که مشخص کنید دستور در چه روزی از هفته اجرا شود. همچنین امکان بکارگیری کلمات کلیدی today یا tomorrow نیز وجود دارد. در صورتی که تنها زمان مشخص شده باشد، دستور در اولین باری که زمان مشخص شده فرا رسد، اجرا خواهد شد.
امکان دیگر اضافه کردن زمان به صورت مثلا now +2 است. در این مثال، دستور ۲ ساعت بعد از زمان کنونی اجرا خواهد شد. کلمه next نیز به معنی 1+ می‌باشد. برای اینکه کاملا نحوه استفاده از دستور at را درک کنید، در زیر مثال‌هایی ارائه شده‌است:
کد:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
کنید
Only
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
Users Can See Links[/COLOR][/CODE]
پس از اینکه صف بندی دستورات را به اتمام رساندید، از گزینه l- برای لیست کردن آنها استفاده کنید. برای حذف یک دستور زمان‌بندی شده، از دستور atrm استفاده کنید.
دستور batch
نحوه عملکرد دستور batch بسیار شبیه به دستور at می‌باشد با این تفاوت که دستور شما بجای زمان خاص، هنگامی اجرا خواهد شد که میزان بار سیستم (System Load) به زیر 1.5 برسد. در زیر نحوه استفاده از این دستور را مشاهده می‌کنید:
کد:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
کنید
Only
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
Users Can See Links[/COLOR][/CODE]
نحوه استفاده از گزینه TIME همانند دستور at بوده با این تفاوت که گزینه‌ای انتخابی است.
دستور cron
در سیستم‌هایی که دائما روشن می‌باشند، مانند سیستم‌های سرویس‌دهنده، وظایف خودکار باید با استفاده از نرم‌افزار cron اجرا شوند. cron هنگام راه‌اندازی سیستم اجرا شده و هر دقیقه بررسی می‌کند که چه دستوری را باید اجرا نماید. دستوراتی را که cron اجرا خواهد کرد، در فایل etc/crontab/ تعریف می‌شوند.
دستوراتی که در etc/crontab/ وجود دارند، عموما برای وظایف سیستمی استفاده می‌شوند. به طور پیش‌گزیده سه وظیفه در این فایل تعریف شده‌است که هر کدام از آنها اسکریپت‌های موجود در دایرکتوری‌های خاصی را که قرار است به طور روزانه، هفتگی یا ماهانه اجرا شوند، اجرا می‌کند. شما حتما مجبور نیستید دستورات یا اسکریپت‌های خود را برای اجرا شدن درون این دایرکتوری‌ها قرار دهید. امکان تعریف آنها بصورت جداگانه در فایل etc/crontab/ وجود دارد. در زیر محتویات موجود در یک فایل etc/crontab/ پیش‌گزیده را مشاهده می‌کنید:
کد:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
کنید
Only
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
Users Can See Links[/COLOR][/CODE]
علامت ستاره (*) به معنای هر روز، هفته و ماه می‌باشد. پس از پنج فیلد نخست در هر خط که به ترتیب شامل دقیقه، ساعت، روز درماه، ماه و روز در هفته می‌باشند، نام کاربری که دستور توسط آن اجرا خواهد شد نوشته می‌شود (در مثال بالا کاربر ریشه می‌باشد). سپس دستور به همراه تمامی آرگومان‌ها و اطلاعات مورد نیازش برای اجرا نوشته می‌شود. هنگامی که زمان فعلی با زمان هیر یک از ورودی‌های این فایل یکسان شوند، آن دستور اجرا خواهد شد. جدول ۲ نشاندهنده نحوه نگارش زمان در فایل etc/crontab/ می‌باشد.
در صورتی که دقیقه یا ساعت به صورت یک ستاره (*) تعریف شده باشد، cron آن دستور را در هر دقیقه یا هر ساعت اجرا خواهد کرد. این ممکن است باعث Over Load شدن سیستم در اثر وجود حجم زیادی از پروسه‌ها شود. بنابراین توصیه می‌کنم که علامت ستاره را تنها در فیلد‌های روز درماه، ماه یا روز در هفته استفاده نمایید.

Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

جدول۲ نحوه نگارش زمان در فایل crontab
فایل‌هایی که در شاخه etc/cron.daily/ قرار دارند، بطور روزانه اجرا خواهند شد. در زیر نمونه‌ای از محتویات این دایرکتوری را مشاهده می‌کنید:
کد:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
کنید
Only
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
Users Can See Links[/COLOR][/CODE]
cron تنها برای مدیران سیستم قابل استفاده نیست و کاربران عادی نیز می‌توانند از آن سود ببرند. هر کاربر می‌تواند فایل crontab خاص خود را با استفاده از دستور crontab filename ایجاد نماید. گزینه‌هایی که به همراه این دستور قابل اجرا هستند عبارتند از گزینه l- برای لیست کردن فایل‌های crontab مخصوص کاربر، گزینه e- جهت ویرایش فایل‌های crontab مخصوص کاربر و گزینه r- برای حذف فایل‌های crontab متعلق به کاربر. فرمت فایل‌های crontab مربوط به کاربران کاملا مشابه با فایل etc/crontab/ می‌باشد. برای اینکه کاربران قادر به استفاده از crontab باشند، باید در فایل etc/cron.allow/ اضافه و یا از فایل etc/cron.deny/ حذف شوند. به اینصورت می‌توانید تعیین کنید که کدامیک از کاربران حق استفاده از cron را خواهند داشت. در صورتی که هریک از این فایل‌ها بر روی سیستم شما وجود ندارند، می‌توانید بطور دستی آنها را ایجاد کنید. ایجاد یکی از فایل‌های cron.allow یا cron.deny کافی خواهد بود. درون این فایل‌ها، هر یک از نام‌های کاربری را در یک خط جداگانه تایپ نمایید.
دستور anacron
در مواردی که کامپیوتر به صورت ۲۴ ساعته روشن و فعال نیست، cron پاسخگوی اجرای امور نخواهد بود، در حالی که ابزار anacron این وابستگی حتمی به روشن بودن ۲۴ ساعته کامپیوتر را ندارد. در صورتی که کامپیوتر در ساعتی که قرار است دستوری اجرا شود خاموش باشد، anacron حتما آنرا به هر حال بعدا اجرا خواهد کرد.
همانند cron، ابزار anacron نیز دارای یک فایل پیکربندی است که دستوراتی را که باید اجرا کند را از درون آن می‌خواند. هر خط این فایل به یک دستور مجزا اختصاص دارد. در زیر یک فایل پیکربندی نمونه anacron که در مسیر etc/anacrontab/ قرار دارد نمایش داده شده‌است:
کد:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
کنید
Only
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
Users Can See Links[/COLOR][/CODE]
نخستین شماره نشاندهنده وقفه یا فاصله تعداد روزهایی است که بین دو اجرای دستور قرار خواهند گرفت. شماره دوم نمایش دهنده تاخیر پیش از اجرای دستور به مدت ثانیه می‌باشد. پس از این دو شماره نیز دستور با پارامترها و آرگومان‌های مورد نیازش قرار خواهد گرفت.
هنگامی که دستوری اجرا می‌شود، زمان آن ثبت شده و anacron می‌داند که در چه زمانی آنرا اجرا کرده و چه زمانی باید آنرا مجددا اجرا کند. زمان بین دو اجرا نمی‌تواند کمتر از یک روز باشد، زیرا anacron مقایسه خود را بر مبنای روز و نه بر مبنای زمان انجام می‌دهد. هنگامی که اجرای دستوری به اتمام می‌رسد، anacron آنرا با یک پیغام اعلام می‌کند.
نحوه استفاده از این دستور به شکل زیر می‌باشد:
کد:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

اگر تا کنون در سایت ثبت نام نکرده اید با کلیک بر روی
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
کنید
Only
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
Users Can See Links[/COLOR][/CODE]
جدول۳ لیستی از گزینه‌های قابل استفاده به همراه این دستور را نمایش می‌دهد. این گزینه‌ها به قابلیت انعطاف این ابزار می‌افزایند. هرچند که anacron یک سرویس بوده و در هنگام بوت شدن کامپیوتر یا تغییر در سطوح اجرایی(runlevels)، اجرا می‌شود. برای تغییر anacron می‌توانید اسکریپت etc/init.d/anacron/ را ویرایش نمایید، ولی این کار را در صورتی انجام دهید که با اسکریپت نویسی آشنایی داشته باشید.

Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.

جدول۳ گزینه‌های قابل استفاده به همراه دستور anacron

از سایت technotux.org
آلن باغومیان