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

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

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

نویسنده موضوع: شروع دانلود و خاموش شدن خودکار با تکیه بر cron و aria2c  (دفعات بازدید: 134241 بار)

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

آفلاین abedzadeh

  • High Hero Member
  • *
  • ارسال: 1597
  • جنسیت : پسر
  • aliila
کرون فقط خطی که جلوش نوشته میشه رو اجرا میکنه
اگه این آپشن رو بذارید در واقع یه تسک با این شرط به وجود میاد و دیگه کاری به کرون نداره
پس دستور رو همراه با این آپشن توی کرون قرار بدید
علاوه بر اون یه دستور kill و شات دان هم قرار بدید که اگه دانلود تا ساعت مقرر کامل نشد اضافه دانلود نکنه

پ.ن : من توی کرون هر یک ساعت یکبار یک دستور kill و یه ادامه ی دانلود بعد. از یک دقیقه میزارم که اگه کانکشنی از. دست رفته باشه ، دوباره فعال بشه
« آخرین ویرایش: 16 آذر 1393، 07:16 ب‌ظ توسط Minion »
به گروه کاربران اوبونتوی ایرانی در جامعه ی استیم بپیوندید
http://steamcommunity.com/groups/Ubuntu-Iran
بازی های تحت پوشش : Dota2

آفلاین CodeR

  • Sr. Member
  • *
  • ارسال: 320
  • ..:: CodeR ::..
طرز کار کرون رو میدونم !
شما سوال رو درست نمیخونی ، گفتم آیا باید برای این دستور داخل کرون ساعت خاصی معین کرد ؟ چطوری باید تنظیم بشه اینکه دیگه نیازی به ساعت خاصی برای اجرا نداره !

آفلاین abedzadeh

  • High Hero Member
  • *
  • ارسال: 1597
  • جنسیت : پسر
  • aliila
کلا اشتباه متوجه منظورم شدید
این فقط یه آپشن هست و باید در ادامه ی دستور دانلود داده بشه
aria2c -c -i \x -d \y -on-download-complete ...
به گروه کاربران اوبونتوی ایرانی در جامعه ی استیم بپیوندید
http://steamcommunity.com/groups/Ubuntu-Iran
بازی های تحت پوشش : Dota2

آفلاین CodeR

  • Sr. Member
  • *
  • ارسال: 320
  • ..:: CodeR ::..
درسته ، اصلا حواسم نبود !!‌

فقط علت این ارور ها و نحوه برطرف کردنش رو هم بگید دیگه همه چیز حله :
2014-12-07 01:11:23.812698 [ERROR] [AbstractCommand.cc:341] CUID#10 - Download aborted. URI=http://xx.net/example.mp4
Exception: [SocketCore.cc:772] errorCode=1 Failed to receive data, cause: Connection reset by peer
Exception: [AbstractCommand.cc:312] errorCode=29 URI=http://test.com/test.rar
  -> [HttpSkipResponseCommand.cc:224] errorCode=29 The response status is not successful. status=503

آفلاین abedzadeh

  • High Hero Member
  • *
  • ارسال: 1597
  • جنسیت : پسر
  • aliila
در مورد این خطا چیزی نمیدونم
اول جست و جو کنید ، اگه چیزی پیدا نشد منتظر پاسخ بقیه ی دوستان باشید

موفق باشید :)
به گروه کاربران اوبونتوی ایرانی در جامعه ی استیم بپیوندید
http://steamcommunity.com/groups/Ubuntu-Iran
بازی های تحت پوشش : Dota2

آفلاین CodeR

  • Sr. Member
  • *
  • ارسال: 320
  • ..:: CodeR ::..
فهمیدم مشکل چیه !
الان ۵ تا لینک براش تنظیم کردم که دانلود کنه وقتی دستور aria2c اجرا میشه ، دقیقا هر ۵ تاش همزمان دارن دانلود میشن !
اما من میخوام که یکی یکی دانلود بشه .

آفلاین mojtabazn

  • Sr. Member
  • *
  • ارسال: 260
  • Arch + Lxqt +compiz
سلام

اگر از فایل کانفیگ استفاده میکنید

این عبارت برای دانلود یک فایل وارد کنید

max-concurrent-downloads=1
اگر کل اپشن هارو تو دستور دانلود وارد میکنید

-j ۱

به نظرم بهتره فایل کانفیگ برای دانلود درست کنید یکی عمومی و هر چندتا برای سایتهایی که اکانت دارید با توجه به شرایط اون سایت و تو کرون فقط دستور aria2c همراه کانفیگ مورد نظر وارد کنید

 
« آخرین ویرایش: 20 آذر 1393، 09:25 ق‌ظ توسط mojtabazn »

آفلاین CodeR

  • Sr. Member
  • *
  • ارسال: 320
  • ..:: CodeR ::..
مجتبا عزیز دستت طلا .
فقط این فایل کانفیگ رو یه چیزایی از بچه ها شنیده بودم و فکر نکنم تو این تاپیک چیزی درموردش گفته شده باشه . البته فعلا نیازی بهش ندارم . در کل میتونی یه مقدار در موردش توضیح بدی ؟

آفلاین mojtabazn

  • Sr. Member
  • *
  • ارسال: 260
  • Arch + Lxqt +compiz
سلام حتما

ببینید aria2c  یک فایل کانفیگ عمومی براش وجود داره اگه بسازیدش تنظیمات دانلودشو از این فایل کانفیگ میگره اگر نباشه تنظیمات پیشفرض خودشو که منوال هست دنبال میکنه فایل تنظیمات به این نام هست  aria2.conf تو مسیر زیر


~/.aria2/aria2.conf
به طور مثال من اینطوری تنظیم کردم

allow-overwrite=true
continue
dir=/home/blackout/Downloads
file-allocation=falloc
input-file=/home/blackout/Desktop/dl-list.txt
log-level=warn
max-tries=16
retry-wait=30
max-concurrent-downloads=4
split=16
max-connection-per-server=16
min-split-size=5M
on-download-complete=exit
log=/home/blackout/Desktop/dl-log.txt

میتونید کاربرد دستور های بالا تو منوال ببینید الان من تو کرون سر ساعت دانلود رایگان  برای دانلود های عمومی فقط این دستور وارد میکنم

aria2c
چون این فایل تنظیم وجود داره aria2  از این فایل استفاده میکنه

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

aria2c --conf-path=مسیر فایل 
این تنظیمات برای سایت هایی که اکانت دارید  رو به سایر تنظیمات دلخواه اضافه میکنیم

http-user=username
http-passwd=password

آفلاین CodeR

  • Sr. Member
  • *
  • ارسال: 320
  • ..:: CodeR ::..
اول اینکه با تشکر از توضیحاتتون /
فقط یه سوال برام پیش اومده . چرا وقتی توی کامند بخواییم مثلا آدرس فایل لاگ رو بهش معرفی کنیم باید از آپشن :
-lاستفاده کنیم ولی وقتی که توی فایل کانفیگ میخواییم همین کارو انجام بدیم باید از این دستور استفاده کنیم ؟‌:‌
--log=<LOG>
سوال بعدی اینکه من دیشب یه سری فایل رو برای دانلود گذاشته بودم هیچ کدوم دانلود نشدن و فقط ارور دادن که دسترسی نداشتن در صورتی که من آدرس ذخیره شدن شون رو تو یکی از درایو های ویندوزی گذاشته بودم و این درایو پرمیشن Read & Write رو توسط User داره .
  -> [RequestGroup.cc:731] errorCode=18 Download aborted.
  -> util.cc:1477] errNum=13 errorCode=18 Failed to make the directory /media/xx/Files/Download/, cause: Permission denied]
« آخرین ویرایش: 21 آذر 1393، 11:11 ق‌ظ توسط CodeR »

آفلاین mojtabazn

  • Sr. Member
  • *
  • ارسال: 260
  • Arch + Lxqt +compiz
سلام

تو حالت وارد کردن دستور میتونید از هر دو حالت استفاده کنید اما خب یکی خلاصه تره فکر کنید همه این اپشنهای تو فایل کانفیگ خودمو به

 اون صورت کامل وارد کنم نه دستور خوانا هست نه حوصلش هست برای اینکار اما  تو فایل کانفیگ باید از حالت کامل اپشن استفاده شه مثل اون

که بالا نوشتم ....

اما در مورد سوال دوم مسیر پوشه مورد نظر دانلود  خودتون ایجاد کنید بعد تست کنید دانلود انجام میشه ؟

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

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
اول یه تشکر خیلی خیلی خیلی توپ به آقا آرمان گل که این تاپیک رو راه انداخت. به شخصه الان یک ماهه دارم با کرون + آریا دانلود می کنم و کلی چیزا هم یاد گرفتم.

دستوراتی که من میذارم واسه ی دانلود ایناس:

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 && echo "my password" | sudo -S apt-get -y dist-upgrade && echo "my password" | sudo -S bash ~/Dialogshutdown
30 06 * * * pkill aria2c
35 06 * * * echo "my password" | sudo -S shutdown -h now

دانلود ساعت 1:15 شروع میشه.
اگه دانلود زودتر از 6:30 تموم بشه خب طبق دستور اول سیستم بعد از دانلود کردن و آپگرید کردن سیستم، خاموش میشه
اگه هم تا 6:30 طول کشید خب اول قطع میشه. بعد از 5 دقیقه خاموش میشه
اینجوری نه ترافیک هدر میره نه برق  :D

اگه لینکی هم واسه دانلود نباشه و سیستم هم نیازی به آپگرید نداشته باشه و منم ساعت 1:15 پاش نشسته باشم، یه دیالوگ بهم میده که بدون اجازه خاموش نشه و من اگه کار دارم بتونم کنسل کنم و بعد دستی خاموش کنم. اگه هم که خواب بودم و چیزی نبود واسه ی دانلود خب خاموش میشه دیگه.  ;)
برای اون اسکریپت دیالوگ توی بش هم از دوست خوبم M!lad جان کمک گرفتم. دمش گرم.

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

آفلاین M!lad

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1757
فقط یک نکته، به نظرم بهتره به جای فرستادن پسورد به دستور با pipe دستوراتی که نیازمند دسترسی ریشه برای اجرا هستند رو تو فایل crontab کاربر ریشه قرار بدید:

sudo crontab -e
اینجوری دیگه لازم نیست پسوردهاتون رو تو فایل cron قرار بدید و دیده بشند.

پ.ن: تو تایپیکی که اسکریپت رو نوشتیم فراموش کرده بودم بگم.
..I feel no fault for the fault I feel..

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

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
فقط یک نکته، به نظرم بهتره به جای فرستادن پسورد به دستور با pipe دستوراتی که نیازمند دسترسی ریشه برای اجرا هستند رو تو فایل crontab کاربر ریشه قرار بدید:

sudo crontab -e
اینجوری دیگه لازم نیست پسوردهاتون رو تو فایل cron قرار بدید و دیده بشند.

پ.ن: تو تایپیکی که اسکریپت رو نوشتیم فراموش کرده بودم بگم.

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

آفلاین M!lad

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1757
فکر نکنم هر دو رو بزاری تو ریشه مشکلی پیش بیاد...
..I feel no fault for the fault I feel..