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

تازه کار => انجمن تازه‌کاران => نویسنده: H.Bitaraf در 04 فروردین 1396، 10:23 ق‌ظ

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

cd mid
killall screen
screen ./auto.sh
عنوان: پاسخ : اجرای اتوماتیک چند دستور در ترمینال
ارسال شده توسط: geeksesi | javad در 04 فروردین 1396، 11:42 ق‌ظ
یکم کارای بش باید بکنی دیگه : )‌

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

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

برای اجرا  بعد  هر ریبوت هم یادم نیست بزار بچه ها بیایین بگن ! :‌)‌
عنوان: پاسخ : اجرای اتوماتیک چند دستور در ترمینال
ارسال شده توسط: H.Bitaraf در 04 فروردین 1396، 01:19 ب‌ظ
داداش من آماتورم
هیچی بلد نیستم ](*,)
چطوری این کارایی که گفتی رو انجام بدم ؟؟ :o
عنوان: پاسخ : اجرای اتوماتیک چند دستور در ترمینال
ارسال شده توسط: Geek در 04 فروردین 1396، 02:31 ب‌ظ
در مورد crontab سرچ کن. آموزشش تو سطح وب زیاد هست. شما تا یه مرحله پیش برو اگر گیر کردی بپرس، دوستان راهنمایی می‌کنن.
عنوان: پاسخ : اجرای اتوماتیک چند دستور در ترمینال
ارسال شده توسط: rahimi12 در 04 فروردین 1396، 11:28 ب‌ظ
داداش من آماتورم
هیچی بلد نیستم ](*,)
چطوری این کارایی که گفتی رو انجام بدم ؟؟ :o
بلد نیستی پس یهویی سعی نکن چند پله باهم بپری. بیخیال شو
چون توی انجمن پرسیدی و همه میتونن نظر بدن منم گفتما. چیز دیگه نگی :دی
عنوان: پاسخ : اجرای اتوماتیک چند دستور در ترمینال
ارسال شده توسط: geeksesi | javad در 05 فروردین 1396، 11:09 ب‌ظ
#!/bin/bash
while [ true ]
do
cd mid
killall screen
screen ./auto.sh
sleep 3h
done

این  کد که  گفتم
اینو بریز  تویه  یه فایل .sh بعد اجراش کن توی ترمینال
ترمینالی رو که  باز کردی رو هیچ وقت نبند : )
دستور همیشه  اجرا  میشه !
عنوان: پاسخ : اجرای اتوماتیک چند دستور در ترمینال
ارسال شده توسط: Geek در 06 فروردین 1396، 12:47 ق‌ظ

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

تا جایی که من می‌دونم اجرای یه حلقهٔ بینهایت فشار زیادی روی CPU ایجاد می‌کنه و این شیوه پیشنهاد نمیشه. بهتره از ابزاری که برای این کار وجود داره (cron) استفاده بشه.
عنوان: پاسخ : اجرای اتوماتیک چند دستور در ترمینال
ارسال شده توسط: alipg در 06 فروردین 1396، 01:51 ق‌ظ

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

تا جایی که من می‌دونم اجرای یه حلقهٔ بینهایت فشار زیادی روی CPU ایجاد می‌کنه و این شیوه پیشنهاد نمیشه. بهتره از ابزاری که برای این کار وجود داره (cron) استفاده بشه.
اون sleep 3h برای همینه که فشاری به پردازنده وارد نشه ، در اون زمان هیچ پردازشی انجام نمی‌شه که بخواد فشار وارد بشه.
عنوان: پاسخ : اجرای اتوماتیک چند دستور در ترمینال
ارسال شده توسط: H.Bitaraf در 06 فروردین 1396، 02:27 ق‌ظ
دوستان کسی هست منو بیشتر راهنمایی کنه؟؟؟
چیکار کنم بعد از ریبوت این دستورات اتوماتیک اجرا بشه و هر ۳ ساعت یکبار؟؟؟
لطف بزرگی در حقم میکنید اگر بهم بگید چیکار کنم
عنوان: پاسخ : اجرای اتوماتیک چند دستور در ترمینال
ارسال شده توسط: alipg در 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