زمانبندی عملیاتهای ترمینال
شاید براتون این مشکل وجود داشته که میخواستین فلان ساعت، یه کامندی تو ترمینال اجرا شه! (مثلا هر شب ساعت ۱۰، به یه شخصی فلان فایل ایمیل شه!) یا اینکه یه بار ساعت ۴ صبح که احتمالا پای کامپیوتر نیستین،…

شاید براتون این مشکل وجود داشته که میخواستین فلان ساعت، یه کامندی تو ترمینال اجرا شه! (مثلا هر شب ساعت ۱۰، به یه شخصی فلان فایل ایمیل شه!) یا اینکه یه بار ساعت ۴ صبح که احتمالا پای کامپیوتر نیستین، شروع به دانلود فایل کنین و بعد ساعت ۸ صبح هم سیستم خود به خود خاموش شه. همه اینکارا با ترمینال لینوکس انجام میشه! برای انجام اینکارها به ادامه مطلب مراجعه کنید.
چه روشهایی برای اینکار داریم؟
برای اینکار ها، ۳ روش داریم حداقل:
- دستور
sleep - دستور
at - تعریف
cronjob۲ دستور اول فقط یکبار در تایمی که بهشون میدیم، کار مورد نظر رو انجام میدن، ولی دستور ۳ام خیلی امکانات بهتری داره! مثلا جلوتر میبینین که میشه بهش گفت روز اول هر ماه، لاگهای سیستم رو پاک کن :|
دستور sleep
این دستور در واقع به ترمینال میگه x ثانیه صبر کن. حالا بعدش میشه که دستور مورد نظر رو بدین بهش! بدیش هم اینه که همه چیز تو اون سشن ترمینال هست! استفاده ازش برای زمانبندی کارمون هم تو این قالبه:
$ sleep x; yourcommand
مثلا بگیم که ۵ ثانیه بعد، بهمون سلام بده:
$ sleep 5; echo SALAM
دستور at
این دستور نسبت به دستور sleep هم استفادش راحتتره، هم اینکه ترمینال برای کار شما نگه داشته نمیشه …
طریقه استفاده از اون هم اینطوریه که اول at X رو میزنین که X زمان مورد نظر هست، مثلا now + 1 hours که میگه از الان، ۱ ساعت بعد، کاریو که بهت میگم انجام بده، یا 0250 میگه که ساعت ۰۲:۵۰ امروز (اگه گذشته باشه فردا) اون کارو انجام بده! برای اطلاعات بیشتر، man at رو مطالعه کنین. حالا دو روش برای دادن کار ها به at داریم: از تو فایل، یا اینکه خودمون واردش کنیم! اگه بخوایم از تو فایل بدیم، باید یه سوییچ -file هم به at بدیم، یعنی اینطوری صداش کنیم:
$ at -file <file> <time>
که جای <file> باید آدرس فایل حاوی دستورات و <time> هم که همون زمان رو میزاریم.
اگه که بخوایم خودمون دستوراتو دستی بدیم، همونطور که قبلا گفتم at رو صدا میکنیم، بعد دستورات رو تو برنامهای که باز میشه تو ترمینال وارد میکنیم، آخرشم CTRL+D میزنیم که بگیم کارمون تموم شد. مثال:
$ at 0237
echo salam
job 7 at Mon Sep 26 02:37:00 2016
تعریف cronjob
این یکی، خیلی آزادی زیادی به ما میده! اول برای اینکه cronjob های فعال سیستم رو ببینین، میتونین از
$ sudo crontab -l
استفاده کنیم. برای اینکه اونارو ویرایش کنیم یا چیزی بهشون اضافه کنیم، از دستور:
$ sudo crontab -e
استفاده میکنیم که با ادیتور دیفالت ترمینال، فایل حاوی cronjob ها رو باز میکنه.
همه cronjob ها باید تو فرمت
* * * * * /path/to/executable
باشن. هر ستاره، نماینده مقادیر زیر به ترتیب هست:
- دقیقه (بین ۰ تا ۵۹)
- ساعت (بین ۰ تا ۲۳)
- روز ماه (بین ۱ تا ۳۱)
- ماه (بین ۱ تا ۱۲)
- روز هفته (بین ۰ تا ۶ که ۰ نماینده یکشنبه هست!) مثلا اون بالا گفتم که میشه بگیم روز اول ماه، فلان کارو کرد:
0 0 1 * * /path/to/executable
که ترجمه دقیقش میشه:
- دقیقه ۰
- ساعت ۰
- روز ۱
- هر ماه
- هر روزی که بود
اسکریپتی که تو آدرس
/path/to/executableهست رو اجرا کن.
البته کارهای دیگهای هم میشه کرد! مثلا یسری کلمههای کلیدی داریم مثل
@reboot Run once, at startup
@yearly Run once a year "0 0 1 1 *"
@annually (same as @yearly)
@monthly Run once a month "0 0 1 * *"
@weekly Run once a week "0 0 * * 0"
@daily Run once a day "0 0 * * *"
@midnight (same as @daily)
@hourly Run once an hour "0 * * * *"
که جای دقیقه میزاریم (بقیرو خالی میزاریم) که با توجه به کلمه، خودش یسری کار میکنه … (مثلا با @monthly همون کاری که بالا گفتیم رو انجام دادیم …)
کار دیگهای که میشه انجام داد، اینه که مثلا میخواین که هر ده دقیقه یه بار، روزای دوشنبه تا جمعه، یه کاری انجام شه:
0,10,20,30,40,50 * * * 1-5 /executable
که میگه زمان هایی که دقیقه برابر با یکی از ۰، ۱۰، ۲۰، ۳۰، ۴۰ ،۵۰ بود، /executable رو اجرا کن. میشه تمیز ترم نوشتش:
*/10 * * * 1-5 /executable
برای راهنمایی و دیدن مشخصات کاملتر هر روش، پیشنهاد میشه که فقط به این مطلب بسنده نشه و man هر دستور خوانده شه! اگه مطلبی دارین که میخواین به متن اضافه شه یا نکتهی خاصی مد نظرتون هست، میتونین از بخش نظرات این صفحه استفاده کنین.
نظرات
Continue reading

کانکی، نهایت شخصیسازی!
طبق آموزش قبلی یاد دادم که چطوری با کمک Gnome Tweak Tool دسکتاپ گنوم خودتون رو شخصیسازی کنین. اینسری یاد میگیرین یه دسکتاپ پویا برای خودتون درست کنین و دسکتاپتون رو از بیتحرکی در بیارین.

apricity os، لینوکس آرچ به سادگیِ اوبونتو!
اگر که از کاربران لینوکسی باشین، شاید شنیدین که آرچ یه لینوکس خفن! ولی با نصبه سخته! (خب تا حدودی با سخت بودن نصب آرچ موافقم! ولی اگه ۲ ۳ بار نصب کنین، راحت یاد میگیرین!) خب، بخاطر سختی نصب آرچ و…

شخصی سازی دسکتاپ گنوم با Gnome Tweak Tool
خوب همونطور که میبینین، یه دسکتاپ گنوم ساده که معمولا پیشفرض رو لینوکسها نصبه، میتونه چقدر عوض بشه! البته این چیزی که تو عکس میبینین خیلی کم روش تغییر دادیم! پیشنیاز ها خوب مثل همیشه، اول…