لینوکس, مدیریت سرور لینوکس

آموزش کامل دستور at در لینوکس – زمان بندی اجرای دستورات با at

آموزش کامل دستور at در لینوکس

دستور at در لینوکس برای زمان بندی اجرای فرمان های مختلف استفاده می شود، در این مقاله نحوه کار با دستور at را در Linux به شما عزیزان آموزش خواهیم داد، همراه داتیس نتورک باشید.

آموزش کامل دستور at در لینوکس

دستور at در لینوکس

حتما پیش آمده است که بخواهید یک دستور خاص را در زمان خاص فقط یکبار اجرا کنید در این صورت لینوکس یک راهکار پیش روی شما قرار داده است.

at یک ابزار خط فرمان است که به شما امکان می دهد تا دستورات را در زمان خاص اجرا کنید.

جاب های ایجاد شده با at فقط یک بار اجرا می شوند.

در ادامه این مقاله نحوه کار و استفاده از فرمان at برای زمان بندی در لینوکس را به شما عزیزان به طور کامل آموزش خواهیم داد، همراه داتیس نتورک باشید.

نصب at

بسته به توزیع لینوکس، at ممکن است در سیستم عامل لینوکس شما وجود داشته باشد.

اگر at نصب نشده است ، می توانید به راحتی آن را نصب کنید.

نصب at در اوبونتو و دبیان و کالی :

sudo apt update
sudo apt install at

نصب at در CentOS و Fedora :

sudo yum install at

پس از نصب برنامه ، مطمئن شوید atd که برنامه ریزی Daemon در حال اجرا است و هنگام بوت شدن سیستم عامل فعال می شود:

sudo systemctl enable --now atd

نحوه استفاده از دستور at در لینوکس

نحو ساده شده برای at فرمان به شرح زیر است:

at [OPTION...] runtime

دستور at تاریخ و زمان (runtime) زمانی که می خواهید برای اجرای این جاب به عنوان یک پارامتر خط فرمان و دستور به از ورودی استاندارد اجرا شود میگیرد.

بیایید جاب ایجاد کنیم که ساعت 9 صبح اجرا شود:

at 09:00

پس از Enter زدن ، از شما می خواهد دستور فرمان at را بدهید که اغلب با at> شروع می شود.

warning: commands will be executed using /bin/sh
at>

یک یا چند فرمان مورد نظر برای اجرای را وارد کنید:

tar -xf /home/datisnetwork/file.tar.gz

وقتی کار دستورات را تمام کردید ، Ctrl-D را فشار دهید تا سریعاً از آن خارج شوید و جاب را ذخیره کنید:

at> 
job 4 at Tue May 5 09:00:00 2020

دستور شماره جاب و زمان و تاریخ اجرا را نمایش می دهد.

علاوه بر وارد کردن دستور سریع at در لینوکس ، روشهای دیگری نیز برای عبور از دستور موردنظر برای اجرای آن وجود دارد . یک روش استفاده از echo و pip است:

echo "command_to_be_run" | at 09:00

گزینه دیگر استفاده از Here document:

at 09:00 <<END
command_to_be_run
END

برای خواندن دستورات از یک پرونده به جای ورودی استاندارد ، دستور زیر را با گزینه -f زیر مسیر فایل فراخوانی کنید.

به عنوان مثال ، برای ایجاد جاب که اسکریپت را اجرا کند /home/linuxize/script.sh:

at 09:00 -f /home/linuxize/script.sh

اگر فرمان خروجی تولید کند ، at پس از اتمام کار ، ایمیلی از جمله خروجی را برای کاربر ارسال می کنید.

فراخوانی atبا -M گزینه ای برای عدم ارسال ایمیل است:

at 09:00 -M

با استفاده از -m حتی اگر هیچ خروجی هم وجود نداشته باشد یک ایمیل برای ارسال میکند:

at 09:00 -m

فرمان Batch

batch یا نام مستعار at -b، جاب را برنامه ریزی کرده و آنها را در صف دسته ای اجرا می کند.

به طور پیش فرض ، جاب ها وقتی انجام می شود که میانگین بار سیستم زیر 1.5 باشد. اگر میانگین بار سیستم از مقدار مشخص شده بالاتر باشد ، کارها در صف انتظار خواهند ماند.

برای ایجاد جاب با batch، دستوراتی را که می خواهید اجرا کنید ، وارد کنید:

echo "command_to_be_run" | batch

تعیین زمان اجرا با دستور at در لینوکس

at طیف گسترده ای از زمان را می پذیرد. می توانید زمان ، تاریخ و میزان تغییرات را از زمان فعلی مشخص کنید:

  • Time : برای مشخص کردن زمان ، از فرم HH:MM یا فرم HHM استفاده کنید. برای نشان دادن قالب 12 ساعته ، از amیا pmبعد از آن استفاده کنید. همچنین می توانید از رشته هایی مانند now، midnight، noon، یا teatime(16:00) استفاده کنید. در صورت گذشتن زمان مشخص شده ، جاب روز بعد انجام می شود.
  • تاریخ : این دستور به شما امکان می دهد تا اجرای کار را در یک تاریخ معین برنامه ریزی کنید. تاریخ را می توان با استفاده از نام ماه به دنبال آن روز و یک سال اختیاری مشخص کرد. شما می توانید از today، tomorrowو یا روزهای هفته استفاده کنید. تاریخ را می توان همچنین با استفاده از فرمت های MMDD[CC]YY، MM/DD/[CC]YY، DD.MM.[CC]YYو یا [CC]YY-MM-DD وارد کرد.
  • افزایش : at همچنین افزایش در قالب now + count time-unitرا می پذیرد ، که countدر آن عدد است و time-unitمی تواند یکی از موارد زیر باشد: minutes، hours، days، یا weeks.

زمان ، تاریخ و افزایش را می توان با هم ترکیب کرد ، در اینجا چند مثال آورده شده است:

برنامه ریزی یک جاب برای یکشنبه آینده ساعت 10 دقیقه دیرتر از زمان فعلی:

 at sunday +10 minutes

برای تنظیم 2 روز دیگر ساعت 1 بعد از ظهر:

at 1pm + 2 days

برنامه ای را برای اجرا در 12:30 اکتبر 21 2020 برنامه ریزی کنید:

at 12:30 102120

برای انجام 1 ساعت دیگر:

at now +1 hours

همچنین می توانید با استفاده از گزینه t- یک زمان و تاریخ را در [[CC]YY]MMDDhhmm[.ss] مشخص کنید.

به عنوان مثال:

at -t 202005111321.32

تعیین صف

به طور پیش فرض ، جاب های ایجاد شده با at در صف a و جاب های ایجاد شده با batch در صف b برنامه ریزی شده اند .

صف های نمایش داده شد می تواند یک نام از aتا z یا A تا Z باشند.

صف های دارای حروف پایین با ظرافت کمتری اجرا می شوند ، به این معنی که آنها نسبت به حروف دارای حروف بالاتر اولویت دارند.

می توانید صف را با -q مشخص کنید. به عنوان مثال ، برای تعیین جاب در صفL ، اجرا کنید:

at monday +2 hours -q L

لیست جاب های در انتظار

برای لیست کردن جاب های معوق کاربر ، دستور atq یا at -l را اجرا کنید :

atq

خروجی تمام جابها ، هرکدام در هر خط را نشان می دهد.

هر خط شامل شماره جاب ، تاریخ ، زمان ، نامه صف و نام کاربری می باشد.

9 Tue May 5 12:22:00 2020 a linuxize
12 Wed Oct 21 12:30:00 2020 a linuxize
15 Tue May 5 09:00:00 2020 a linuxize
6 Tue May 5 09:00:00 2020 a linuxize
13 Mon May 4 23:08:00 2020 a linuxize
11 Wed Jul 1 10:00:00 2020 a linuxize
4 Tue May 5 09:00:00 2020 a linuxize

هنگامی که atq به عنوان کاربر اداری فراخوانی شد ، مشاغل معلق همه کاربران را فهرست می کند.

حذف جاب در انتظار

برای حذف یک جاب در انتظار ، به عنوان مثال ، برای حذف کار با شماره 9 ، شما اجرا می کنید:

atrm 9

محدود کردن کاربران

فایل های /etc/at.deny و /etc/at.allow به شما اجازه کنترل اینکه چه کاربرانی می توانند جاب با atو یا batch ایجاد کنند میدهد.

پرونده ها شامل لیستی از نام های کاربری هستند که در هر خط یک نام کاربری دارند.

به طور پیش فرض در لینوکس ، فقط پرونده /etc/at.deny وجود دارد و خالی است ، به این معنی که همه کاربران می توانند از at دستور استفاده کنند .

اگر می خواهید مجوز کاربری خاص را رد کنید ، نام کاربری خود را به این پرونده اضافه کنید.

در صورت وجود پرونده /etc/at.allow فقط کاربرانی که در این پرونده فهرست شده اند می توانند از این atدستور استفاده کنند .

اگر هیچ یک از پرونده ها وجود نداشته باشد ، فقط کاربران دارای امتیازات اداری می توانند از این atدستور استفاده کنند.

امیدواریم مقاله آشنایی و آموزش کار با فرمان at در Linux برای شما مفید بوده باشد.

داتیس نتورک را در شبکه های اجتماعی دنبال کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *