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

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

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


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: دستور شرطی واسه آریا2 حل شد!  (دفعات بازدید: 4136 بار)

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

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : دستور شرطی واسه آریا2
« پاسخ #15 : 22 دی 1393، 05:20 ب‌ظ »
نقل‌قول
و اگر هیچ لینکی نبود یا# داشتن سیستم رو خاموش میکنه.
لینکی بود یا نبود؟
اگه لینکی باشه باید خاموش کنه
اگه نباشه که نباید خاموش بشه. درسته؟
و اگه هم # داشته باشه هم باز نباید خاموش بشه. درسته؟

خب من امشب مثلا سه تا لینک توی فایل دارم. آریا2 دانلود رو شروع می کنه و تموم میشه. بعد اسکریپت فایل رو تکست رو چک می کنه اگه لینکی بود، خاموشش کنه. اگه لینکی نبود، خاموش نکنه. درسته؟

نقل‌قول
برا اینکه بشه یک پروسه که cron اجرا کرده رو متوقف کرد میشه لیست پروسه‌ها رو چک کنیم و id پروسه مدنظرمون رو پیدا و Kill کنمیش، مثل:
آره دستور pkill رو میدونم. توی همون کرون هم تنظیم شده. ولی اسکریپت مگه توش عمل خاموش شدن نداره؟ خب اگه من آریا2 رو کیل کنم، سیستم نمیره واسه خاموشی؟؟ یا کلا اسکریپت از کار می افته اون موقع؟

نقل‌قول
من اسکریپت رو با بش هم نوشتم:
نقل‌قول
مثل قبل، دانلود انجام میشه، لیست چک میشه،‌ اگر محتوی لینک بود سیستم میره برا خاموش شدن، ولی اینبار بهتون ۲۰ ثانیه اجازه میده پروسه رو کنسل کنید!

فرضا دارید با سیستم کار میکنید و دانلودهاتون تموم میشه و عملا سیستم باید خاموش بشه ولی بهتون اجازه میده عملیات رو کنسل کنید:
اینم خیلی عالیه. دمتون گرم.
فقط یه سوال؟ این رو باید با چه پسوندی خروجی بگیرم و با چه دستوری توی کرون اجراش کنم؟  ;)
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : دستور شرطی واسه آریا2
« پاسخ #16 : 22 دی 1393، 05:39 ب‌ظ »
خب پس میشه کار رو ساده تر کرد
بیاییم کلا این کار رو انجام بدیم
دستور آریا2 رو دست نزنیم. بذاریم چه لینک داشته باشه چه نداشته باشه اجرا بشه و تموم بشه
بعد واسه خاموش شدن سیستم (که بعد از && گذاشتم) دستور دیالوگ بدیم.

1) اگه سیستم لینک داشته باشه واسه دانلود خب میگیره و بعد هم دیالوگ خاموش شدن میاد و بعدش هم میره و سیستم خاموش میشه (منم خواب!  ;D)

2) اگه سیستم لینک نداشته باشه واسه دانلود خب آریا2 سریع تموم میشه میره واسه خاموش شدن و من دیالوگ رو میبینم و کنسل می کنم.

اینجوری ساده تر نیست؟؟
کلا عمل چک کردن اون فایل تکست دیگه از توی اسکریپت برداشته میشه.
فقط دیالوگ واسه شات داون لازمه.  ;)
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین KraToS

  • Full Member
  • *
  • ارسال: 148
  • جنسیت : پسر
    • KraToS . Ir
پاسخ : دستور شرطی واسه آریا2
« پاسخ #17 : 22 دی 1393، 05:43 ب‌ظ »
خب پس میشه کار رو ساده تر کرد
بیاییم کلا این کار رو انجام بدیم
دستور آریا2 رو دست نزنیم. بذاریم چه لینک داشته باشه چه نداشته باشه اجرا بشه و تموم بشه
بعد واسه خاموش شدن سیستم (که بعد از && گذاشتم) دستور دیالوگ بدیم.

1) اگه سیستم لینک داشته باشه واسه دانلود خب میگیره و بعد هم دیالوگ خاموش شدن میاد و بعدش هم میره و سیستم خاموش میشه (منم خواب!  ;D)

2) اگه سیستم لینک نداشته باشه واسه دانلود خب آریا2 سریع تموم میشه میره واسه خاموش شدن و من دیالوگ رو میبینم و کنسل می کنم.

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

ساده ترین معادله همینه که قبل از دستور خاموش شدن سیستم هشدار بگیری ٫ فکر کن ساعت ۳ دانلود تموم شد و شما در حال وبگردی بودی نزنه یهویی مات و مبهوتت کنه
Information is POWER. But like all POWER, There are those who want to keep it for themselves.
- Aaron Swartz
1986-2013

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : دستور شرطی واسه آریا2
« پاسخ #18 : 22 دی 1393، 05:46 ب‌ظ »
نقل‌قول
ساده ترین معادله همینه که قبل از دستور خاموش شدن سیستم هشدار بگیری ٫ فکر کن ساعت ۳ دانلود تموم شد و شما در حال وبگردی بودی نزنه یهویی مات و مبهوتت کنه
دقیقا. واسه همین این سوال رو مطرح کردم.
1) اون اسکریپت پایتون خیلی خوبه و وقتی تستش کردم راضی بودم. فقط سوال برام ایجاد شده بود که چجوری کل اسکپریت رو بعد از فعال شدن کنسل کنم. که هم دانلود قطع بشه هم دستور خاموشی کلا لغو بشه. یعنی کلا یه دستور بدم که اسکپریت انگار نه انگار که وجود داشته  ;)

2) اسکریپت Bash هم خیلی خوبه ولی وقتی میلاد جان دیالوگ رو گذاشت داخلش این فکر به ذهنم خورد که چرا اینقدر کار رو سخت کنیم و بیاییم به جاش فقط برای شات داون یه دیالوگ بذاریم. دیگه چک کردن فایل تکست و ... نیاز نباشه  ;)
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین KraToS

  • Full Member
  • *
  • ارسال: 148
  • جنسیت : پسر
    • KraToS . Ir
پاسخ : دستور شرطی واسه آریا2
« پاسخ #19 : 22 دی 1393، 05:51 ب‌ظ »
والا من تو اسکریپت نویسی هیچی بلد نیستم ٫ همین آریا۲ رو هم نصب نکردم هنوز و نمیدونم حتی اسکریپت رو چجوری باید بدم به کرون تو ubuntu تازه کارم ٫ تحت وب امری داشتی تو پی اچ پی و ... نوکرتم هستم ٫‌ایشالا آقا M!lad وقت میکنه درستش کنه که استفاده کنیم ازش
« آخرین ویرایش: 22 دی 1393، 05:52 ب‌ظ توسط KraToS »
Information is POWER. But like all POWER, There are those who want to keep it for themselves.
- Aaron Swartz
1986-2013

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : دستور شرطی واسه آریا2
« پاسخ #20 : 22 دی 1393، 05:54 ب‌ظ »
والا من تو اسکریپت نویسی هیچی بلد نیستم ٫ همین آریا۲ رو هم نصب نکردم هنوز و نمیدونم حتی اسکریپت رو چجوری باید بدم به کرون تو تازه کارم ٫ تحت وب امری داشتی تو پی اچ پی و ... نوکرتم هستم ٫‌ایشالا آقا M!lad وقت میکنه درستش کنه که استفاده کنیم ازش

منم هنوز هیچی از اسکریپت نویسی نمی دونم. (نه پایتون بلدم نه Bash) خخخ
تا اینجا هم میلاد جان خیلی لطف کردن و وقت گذاشتن واسه ی این سوال من. اجرشون با خدا  ;)
آریا2 نرم افزاری چالش بر انگیزه. حتما تستش کن. چیزای زیادی به خاطرش یاد میگیری. نه مثل اون IDM  :D که نمی فهمی دقیقا داره چه کاری انجام میده.  ;)
باشه. اگه تحت وب سوالی بود مزاحمت میشم  ;)
آره خیلی خوبه. اگه توی ویکی نباشه، بهتره بذارنش توی wiki تا بقیه هم استفاده کنن  ;)
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین M!lad

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1757
پاسخ : دستور شرطی واسه آریا2
« پاسخ #21 : 22 دی 1393، 05:58 ب‌ظ »
درسته، تو توضیحاتم برعکس نوشتم، (چون از نظر خودم منطقا وقتی لینکی نیست باید سیستم خاموش بشه ;D)
اگر لینکی وجود داشت خاموش میکنه. (اجازه کنسل کردن هم میده) اگر نبود یا لینک ها # داشتن خاموش نمیشه سیستم.

۳ خط تو فایل کرون داشتید:
- یکیش aria2 بود که به جاش یک اسکریپت گذاشتیم که aria2 رو اجرا کنه پس از اتمام کار به صورت هوشمند تصمیم بگیره همون لحظه سیستم خاموش بشه یا نه
- دو تا هم برای kill کردن و خاموش کردن سیستم ساعت ۶:۳۵ دقیقه. (اگر اسکریپت سیستم رو خاموش نکرده باشه این دو در زمان مشخص شده اجرا میشند و سیستم خاموش میشه)

الان دقیق نمیدونم میخواید چه کنید! به نظر همه چیز درسته.

برای اجرا پسوند مهم نیست، باید مجوز اجرا شدن داشته باشه و در Crontab:
55 17 * * * bash /home/user/script > /home/user/log
بش اسکریپت رو یکم تغییر دادم که صحیح اجرا بشه...
« آخرین ویرایش: 22 دی 1393، 06:01 ب‌ظ توسط M!lad »
..I feel no fault for the fault I feel..

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : دستور شرطی واسه آریا2
« پاسخ #22 : 22 دی 1393، 06:06 ب‌ظ »
نقل‌قول
درسته، تو توضیحاتم برعکس نوشتم، (چون از نظر خودم منطقا وقتی لینکی نیست باید سیستم خاموش بشه ;D)
اگر لینکی وجود داشت خاموش میکنه. اگر نبود یا لینک ها # داشتن خاموش نمیشه سیستم.

درسته  ;)

نقل‌قول
خط تو فایل کرون داشتید:
- یکیش aria2 بود که به جاش یک اسکریپت گذاشتیم که aria2 رو اجرا کنه پس از اتمام کار به صورت هوشمند تصمیم بگیره همون لحظه سیستم خاموش بشه یا نه
- دو تا هم برای kill کردن و خاموش کردن سیستم ساعت ۶:۳۵ دقیقه. (اگر اسکریپت سیستم رو خاموش نکرده باشه این دو در زمان مشخص شده اجرا میشند و سیستم خاموش میشه)

الان دقیق نمیدونم میخواید چه کنید! به نظر همه چیز درسته.

درسته. ولی منظور من یه چیز دیگه س.
من میگم اگه اسکریپت رو نخوام که دیگه به کارش ادامه بده برای لغوش باید چی بزنم؟
اگه pkill aria2c رو بزنم اسکریپت لغو میشه کلا؟ یا اینکه ممکنه بعد از لغو atia2c سیستم رو خاموش کنه؟ (اسکریپت پایتون منظورمه. نه بش. چون توی بش که اخطار میده) چون توی اسکریپت پایتون از خاموش شدن بحث شده بالاخره. (بعد از تمام شدن کار آریا)

نقل‌قول
برای اجرا پسوند مهم نیست، باید مجوز اجرا شدن داشته باشه و در Crontab:

خب این bash رو من کجا باید ذخیره کنم؟‌ یعنی بش رو که توی ترمینال نوشتم، خودش محل ذخیره به کاربر نشون میده؟ که ما با اسم دلخواهمون اسکریپت رو ذخیره کنیم؟
یا مثل پایتون بذارمش توی فایل تکست و بعد هر جایی که گذاشتم توی کرون آدرس دهیش کنم. اینجوری؟

اون قسمت ساده تر کردن کار هم منظورم اینه که کلا ما بیاییم یه اسکریپت درست کنیم واسه دیالوگ شات داون. همین! بعد بذاریمش بعد از دستور آریا2. مثلا:
15 01 * * * aria2c -c -j1 -x16 -s16 -k 1M -d /home/kubuntu/Downloads -i /home/kubuntu/Desktop/Link.txt -l downloadlog --log-level=notice > logdownloadaria2c && bash /home/user/script > /home/user/logبه طور مثال گفتم.
یعنی آریا2 کارش رو انجام بده. بعد دستور شات داون اجرا بشه ولی به صورت دیالوگ.
اینجوری دیگه چه لینک باشه چه نباشه موقع شات داون دیالوگ بهمون میده و خودمون انتخاب می کنیم.
اینجوری دیگه اسکریپت نیاز نیست اینقدر پیچیده بشه.  ;)

« آخرین ویرایش: 22 دی 1393، 06:09 ب‌ظ توسط Rasubuntu »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : دستور شرطی واسه آریا2
« پاسخ #23 : 22 دی 1393، 06:13 ب‌ظ »
نقل‌قول
خب این bash رو من کجا باید ذخیره کنم؟‌ یعنی بش رو که توی ترمینال نوشتم، خودش محل ذخیره به کاربر نشون میده؟ که ما با اسم دلخواهمون اسکریپت رو ذخیره کنیم؟
یا مثل پایتون بذارمش توی فایل تکست و بعد هر جایی که گذاشتم توی کرون آدرس دهیش کنم. اینجوری؟

این قسمت حل شد  ;D چقدر من خنگم آخه  ](*,)
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین M!lad

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1757
پاسخ : دستور شرطی واسه آریا2
« پاسخ #24 : 22 دی 1393، 06:29 ب‌ظ »
کلا از ابتدا متوجه نشدم دلیلتون برای چک کردن لینک‌ها چی هست.
درباره اسکریپت پایتون میتونید با pkill python کل اسکریپت رو از اجرا متوقف کنید. بهتره با id اینکار رو انجام بدید.

کد اسکریپت (بش) رو تو یک فایل به هر اسم و جایی که دوست دارید ذخیره کنید. بعد بهش مجوز اجرا بدید:
chmod +x /path/to/scriptهمونطور که گفتم در لیست crontab قرارش بدید برای اجرا.
ضمنا باید بسته zenity رو هم نصب کنید تا بتونید پیغام ها رو ببینید.

اگر فقط بخشی از اسکریپت رو میخواید که کار خاموش کردن رو با پیغام دادن انجام بده:

#! /bin/bash
(
for i in `seq 1 100`;
do
echo $i; sleep .2
done
) |

zenity --progress \
  --title="Shutdown..." \
  --text="Do you want to cancel the shutdown operation?" \
  --percentage=0 \
  --auto-close \
  --display=:0.0

if [ "$?" != 1 ] ; then
shutdown -h now
fi

به این شکل تو لیست job ها بزارید:
00 00 * * * aria2c -i ~/Downloads/list -c ... && echo 'password' | sudo bash ~/Downloads/sd
من اسکریپت رو با اسم sd تو دایرکتوری Downloads ذخیره کرده‌ام.
وسط کار aria2 رو kill کنید پروسه خاموش شدن هم کنسل میشه.
..I feel no fault for the fault I feel..

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : دستور شرطی واسه آریا2
« پاسخ #25 : 22 دی 1393، 06:37 ب‌ظ »
نقل‌قول
کلا از ابتدا متوجه نشدم دلیلتون برای چک کردن لینک‌ها چی هست.
چک کردن لینک ها از اونجایی به ذهنم خطور کرد، که دیگه ایده ای واسه ی این کار نداشتم
تا اینکه قضیه ی دیالوگ بوجود اومد.

البته اسکریپت هاتون خیلی مفیدن و همیشه قابل استفاده ان. یعنی مشکلی بابت استفاده شون ندارم. مخصوصا هر دو اسکریپت که قبلا گذاشتین.  ;)

فقط می خواستم کاری کنم که سیستم وقتی آریا2 لینکی واسه دانلود نداره، خاموش نشه. همین!

ولی بعد که دیالوگ رو دیدم گفتم خب یه دیالوگ میذاریم واسه شات داون و دیگه این همه مصیبت نمیخواد.

نقل‌قول
درباره اسکریپت پایتون میتونید با pkill python کل اسکریپت رو از اجرا متوقف کنید. بهتره با id اینکار رو انجام بدید.
چشم  ;)

نقل‌قول
همونطور که گفتم در لیست crontab قرارش بدید برای اجرا.
ضمنا باید بسته zenity رو هم نصب کنید تا بتونید پیغام ها رو ببینید.
اینم به روی چشم  ;)

نقل‌قول
اگر فقط بخشی از اسکریپت رو میخواید که کار خاموش کردن رو با پیغام دادن انجام بده:
نقل‌قول
00 00 * * * aria2c -i ~/Downloads/list -c ... && echo 'password' | sudo bash ~/Downloads/sd
توی آخرین بحث دقیقا منظورم همین بود  ;)
به نظرم اینجوری بهتره تا اینکه بخواهیم کل آریا2 و خاموش شدن رو بسپاریم به دست اسکریپت (دیگه هم نیازی به نگرانی بابت pkill کردن نیست)
 ;)

در آخر خیلی ممنون که با حوصله جواب دادین و دانشتون رو به دیگران هم یاد دادین  ;)
ایشالله که خنگ بازی در نمیارم ولی اگه مشکلی پیش اومد دوباره مزاحمتون میشم  :oops:
« آخرین ویرایش: 22 دی 1393، 06:39 ب‌ظ توسط Rasubuntu »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت