خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه برنامه ریزی مشاغل یک بار در لینوکس با استفاده از در

دستور cron یک راه فوق العاده برای برنامه ریزی کارهای تکراری در لینوکس است. اما اگر بخواهید یک دستور یا اسکریپت خاص را فقط یک بار اجرا کنید چه؟

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

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

در حال نصب در لینوکس

دستور at بخشی از ابزارهای استاندارد لینوکس در اکثر توزیع ها نیست. خوشبختانه، بدون در نظر گرفتن توزیعی که استفاده می کنید، می توانید آن را به راحتی با استفاده از مدیر بسته خود نصب کنید.

در سیستم‌های مبتنی بر دبیان مانند Ubuntu، MX Linux و Pop!_OS، می‌توانید با اجرای:

sudo apt install at

اگر از توزیع مبتنی بر RPM مانند RHEL، Fedora یا Rocky Linux استفاده می‌کنید، از DNF برای نصب بسته استفاده کنید:

sudo dnf install at

در توزیع‌های لینوکس مبتنی بر Arch مانند Manjaro، اجرا کنید:

sudo pacman -S at

راه‌اندازی سرویس زمان‌بندی شغلی atd

قبل از استفاده از دستور at، مطمئن شوید که شبح زمانبندی atd در حال اجرا است. این همان چیزی است که دستور at برای اجرای کارهای برنامه ریزی شده استفاده می کند.

sudo systemctl status atd

بررسی وضعیت زمانبندی atd

اگر سرویس atd اجرا نمی شود، می توانید آن را با استفاده از:

sudo systemctl start atd

زمانبندی وظایف در لینوکس با در

در اینجا آمده است که چگونه می توانید یک کار یک بار مصرف را برای اجرا در زمان معینی در آینده با استفاده از در برنامه ریزی کنید:

command | at time_stamp

برای مثال، می‌توانیم با استفاده از دستور ls، کاری را برای فهرست کردن محتویات دایرکتوری فعلی‌تان برنامه‌ریزی کنیم و یک دقیقه دیگر خروجی را در یک فایل بنویسیم.

مطلب مرتبط:   با Upscayl تصاویر قدیمی با وضوح پایین را در لینوکس عالی جلوه دهید

ابتدا با استفاده از دستور cd به پوشه home user خود تغییر دهید:

cd ~

سپس دستور زیر را برای زمانبندی کار خود اجرا کنید:

ls > list_items.txt | at now + 1 minutes

برنامه ریزی یک کار ساده با در

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

اگر می خواهید دستور را در ظهر فردا اجرا کنید، اجرا کنید:

ls > list_items.txt | at noon tomorrow

برای زمان ها و تاریخ های خاص تر، از قالب تاریخ MMDDHHMM YYYY استفاده کنید. به عنوان مثال، برای اجرای دستور قبلی در ساعت 13:00. در 25 دسامبر 2023، می توانید دستور زیر را اجرا کنید:

ls > list_items.txt | at 12251300 2023

دستور at دارای ویژگی های بسیار پیشرفته تری است که به شما امکان می دهد دستورات خاصی را در زمان دقیق اجرا کنید. برای گزینه های دستوری بیشتر به صفحات man آن نگاهی بیندازید:

man at

زمان‌بندی اسکریپت‌ها در لینوکس با استفاده از در

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

بیایید فرض کنیم که شما یک اسکریپت به نام disk_usage.sh دارید که در پوشه اصلی خود قرار دارد. اسکریپت به سادگی استفاده از هارد دیسک را در یک فایل متنی چاپ می کند. این اسکریپت است:

#!/bin/bash
df -h > disk_usage.txt

برای اجرای این اسکریپت سی دقیقه بعد، می توانید به سادگی دستور زیر را اجرا کنید:

at now + 30 minutes -f ~/disk_usage.sh

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

sudo chmod +x disk_usage.sh

مدیریت معلق در Tasks در لینوکس

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

atq

لیست مشاغل با atq

برای حذف یک کار معلق، از فرمت دستور زیر استفاده کنید:

atrm task_number

به عنوان مثال، برای حذف وظیفه شماره 12، از:

atrm 12

خودکار کردن وظایف تکراری در لینوکس با در

دستور at یک ابزار قدرتمند و همه کاره برای اجرا یا اجرای کارهای یکبار مصرف در رایانه لینوکس شما است. به غیر از at، می‌توانید از crontab برای خودکار کردن انواع کارها، از کارهای ساده تا پیچیده، استفاده کنید.

مطلب مرتبط:   نحوه نصب کد ویژوال استودیو روی آرچ لینوکس