انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: اجرای اتوماتیک چند دستور در ترمینال  (دفعات بازدید: 1164 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین H.Bitaraf

  • Newbie
  • *
  • ارسال: 3
اجرای اتوماتیک چند دستور در ترمینال
« : 04 فروردین 1396، 10:23 ق‌ظ »
سلام دوستان
من از vps اوبونتو استفاده می‌کنم
چیکار باید بکنم تا این دستورات بصورت اتوماتیک هر ۳ ساعت یکبار و بعد از هرباری که سرور ریبوت میشه خودش اجرا بشه ؟؟( لطفاً به زبان ساده توضیح دهید  8)

cd mid
killall screen
screen ./auto.sh

آفلاین geeksesi | javad

  • High Sr. Member
  • *
  • ارسال: 685
  • جنسیت : پسر
  • GeekSesi.xyz
    • محمد جواد قاسمی
پاسخ : اجرای اتوماتیک چند دستور در ترمینال
« پاسخ #1 : 04 فروردین 1396، 11:42 ق‌ظ »
یکم کارای بش باید بکنی دیگه : )‌

یه حلقه while همیشه True می زاری  توش این  دستوراتو می نویسی قبل از  تموم شد  حلقه  while | یدونه sleep با  مدت  زمانی که می خوایی تعیین میکنی !

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

برای اجرا  بعد  هر ریبوت هم یادم نیست بزار بچه ها بیایین بگن ! :‌)‌
اگر اشتباه کردم راهنمایی کنید تا تکرار نکنم.

آفلاین H.Bitaraf

  • Newbie
  • *
  • ارسال: 3
پاسخ : اجرای اتوماتیک چند دستور در ترمینال
« پاسخ #2 : 04 فروردین 1396، 01:19 ب‌ظ »
داداش من آماتورم
هیچی بلد نیستم ](*,)
چطوری این کارایی که گفتی رو انجام بدم ؟؟ :o
« آخرین ویرایش: 04 فروردین 1396، 01:26 ب‌ظ توسط H.Bitaraf »

آفلاین Geek

  • High Hero Member
  • *
  • ارسال: 1116
  • جنسیت : پسر
  • The answer to life the universe and everything: 42
پاسخ : اجرای اتوماتیک چند دستور در ترمینال
« پاسخ #3 : 04 فروردین 1396، 02:31 ب‌ظ »
در مورد crontab سرچ کن. آموزشش تو سطح وب زیاد هست. شما تا یه مرحله پیش برو اگر گیر کردی بپرس، دوستان راهنمایی می‌کنن.

آفلاین rahimi12

  • Full Member
  • *
  • ارسال: 228
  • جنسیت : دختر
پاسخ : اجرای اتوماتیک چند دستور در ترمینال
« پاسخ #4 : 04 فروردین 1396، 11:28 ب‌ظ »
داداش من آماتورم
هیچی بلد نیستم ](*,)
چطوری این کارایی که گفتی رو انجام بدم ؟؟ :o
بلد نیستی پس یهویی سعی نکن چند پله باهم بپری. بیخیال شو
چون توی انجمن پرسیدی و همه میتونن نظر بدن منم گفتما. چیز دیگه نگی :دی

آفلاین geeksesi | javad

  • High Sr. Member
  • *
  • ارسال: 685
  • جنسیت : پسر
  • GeekSesi.xyz
    • محمد جواد قاسمی
پاسخ : اجرای اتوماتیک چند دستور در ترمینال
« پاسخ #5 : 05 فروردین 1396، 11:09 ب‌ظ »
#!/bin/bash
while [ true ]
do
cd mid
killall screen
screen ./auto.sh
sleep 3h
done

این  کد که  گفتم
اینو بریز  تویه  یه فایل .sh بعد اجراش کن توی ترمینال
ترمینالی رو که  باز کردی رو هیچ وقت نبند : )
دستور همیشه  اجرا  میشه !
اگر اشتباه کردم راهنمایی کنید تا تکرار نکنم.

آفلاین Geek

  • High Hero Member
  • *
  • ارسال: 1116
  • جنسیت : پسر
  • The answer to life the universe and everything: 42
پاسخ : اجرای اتوماتیک چند دستور در ترمینال
« پاسخ #6 : 06 فروردین 1396، 12:47 ق‌ظ »

این  کد که  گفتم
اینو بریز  تویه  یه فایل .sh بعد اجراش کن توی ترمینال
ترمینالی رو که  باز کردی رو هیچ وقت نبند : )
دستور همیشه  اجرا  میشه !

تا جایی که من می‌دونم اجرای یه حلقهٔ بینهایت فشار زیادی روی CPU ایجاد می‌کنه و این شیوه پیشنهاد نمیشه. بهتره از ابزاری که برای این کار وجود داره (cron) استفاده بشه.

آفلاین alipg

  • Full Member
  • *
  • ارسال: 239
  • جنسیت : پسر
پاسخ : اجرای اتوماتیک چند دستور در ترمینال
« پاسخ #7 : 06 فروردین 1396، 01:51 ق‌ظ »

این  کد که  گفتم
اینو بریز  تویه  یه فایل .sh بعد اجراش کن توی ترمینال
ترمینالی رو که  باز کردی رو هیچ وقت نبند : )
دستور همیشه  اجرا  میشه !

تا جایی که من می‌دونم اجرای یه حلقهٔ بینهایت فشار زیادی روی CPU ایجاد می‌کنه و این شیوه پیشنهاد نمیشه. بهتره از ابزاری که برای این کار وجود داره (cron) استفاده بشه.
اون sleep 3h برای همینه که فشاری به پردازنده وارد نشه ، در اون زمان هیچ پردازشی انجام نمی‌شه که بخواد فشار وارد بشه.

آفلاین H.Bitaraf

  • Newbie
  • *
  • ارسال: 3
پاسخ : اجرای اتوماتیک چند دستور در ترمینال
« پاسخ #8 : 06 فروردین 1396، 02:27 ق‌ظ »
دوستان کسی هست منو بیشتر راهنمایی کنه؟؟؟
چیکار کنم بعد از ریبوت این دستورات اتوماتیک اجرا بشه و هر ۳ ساعت یکبار؟؟؟
لطف بزرگی در حقم میکنید اگر بهم بگید چیکار کنم

آفلاین alipg

  • Full Member
  • *
  • ارسال: 239
  • جنسیت : پسر
پاسخ : اجرای اتوماتیک چند دستور در ترمینال
« پاسخ #9 : 06 فروردین 1396، 11:03 ق‌ظ »
دوستان کسی هست منو بیشتر راهنمایی کنه؟؟؟
چیکار کنم بعد از ریبوت این دستورات اتوماتیک اجرا بشه و هر ۳ ساعت یکبار؟؟؟
لطف بزرگی در حقم میکنید اگر بهم بگید چیکار کنم
من تاپیک رو از اول نخوندم ، اما دستورات رو داخل یک حلقه while بنویس و به صورت یک اسکریپت در بیار.
while 1=1 ; do

cd mid
killall screen
screen ./auto.sh
sleep 2h
done
توجه به sleep 2h کن که حتما بنویسی و گرنه دستور مدام پشت‌ سرهم اجرا میشه و لود پردازنده خیلی زیاد میشه.
حالا این اسکریپت رو بزار داخل یکی مسیری مثل هوم خودت ، بعد آدرس اسکریپت رو همراه با پارامترهای لازم بزار داخل crontab به شکل زیر
crontab -eفرض کن اسکریپت داخل این مسیر هست
/home/USER/test.sh
اینطور بزار داخل crontab
@reboot /home/USER/test.sh