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

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

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


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

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

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

آفلاین SOHE!L

  • Jr. Member
  • *
  • ارسال: 63
یه سوال دیگه
میشه برای هرنوع فایلی مسیر تعیین کرد؟
ویدیو
موزیک
و....
که خودش لینکارو تفیکیک کنه

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

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
برای این کار باید اسکریپت بنویسی که اگه پسونی مثل mkv,mp4 و ... توی لینک بود، دانلود کنه توی دایرکتوری فیلم و اگه پسوند mp3,ogg و .. بود، دانلود بشه توی دایرکتوری آهنگ. وگرنه خودت باید دستی آدرس دهی کنی.
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین SOHE!L

  • Jr. Member
  • *
  • ارسال: 63
برای این کار باید اسکریپت بنویسی که اگه پسونی مثل mkv,mp4 و ... توی لینک بود، دانلود کنه توی دایرکتوری فیلم و اگه پسوند mp3,ogg و .. بود، دانلود بشه توی دایرکتوری آهنگ. وگرنه خودت باید دستی آدرس دهی کنی.
آموزشی هست برای اسکریپت نویسی؟
خیلی کاربردیه

آفلاین علیرضاامیرصمیمی

  • ناظر انجمن
  • *
  • ارسال: 2489
  • جنسیت : پسر
  • Arch Linux + KDE
    • وبسایت شخصی من
یه سوال دیگه
میشه برای هرنوع فایلی مسیر تعیین کرد؟
ویدیو
موزیک
و....
که خودش لینکارو تفیکیک کنه

توی دانلود منجر پرسپولیس من این کار رو کردم میتونید از اسکریپتش استفاده کنید و برای خودتون fork کنید
https://github.com/alireza-amirsamimi/pdmt

http://amirsamimi.mihanblog.com/post/25

آفلاین SOHE!L

  • Jr. Member
  • *
  • ارسال: 63
یه سوال دیگه
میشه برای هرنوع فایلی مسیر تعیین کرد؟
ویدیو
موزیک
و....
که خودش لینکارو تفیکیک کنه

توی دانلود منجر پرسپولیس من این کار رو کردم میتونید از اسکریپتش استفاده کنید و برای خودتون fork کنید
https://github.com/alireza-amirsamimi/pdmt

http://amirsamimi.mihanblog.com/post/25
چیکار کردی پسر
ماشالله

آفلاین علیرضاامیرصمیمی

  • ناظر انجمن
  • *
  • ارسال: 2489
  • جنسیت : پسر
  • Arch Linux + KDE
    • وبسایت شخصی من
ممنون :)

آفلاین jali316

  • Full Member
  • *
  • ارسال: 118
  • جنسیت : پسر
  • ubuntu 16.04
اول یه تشکر خیلی خیلی خیلی توپ به آقا آرمان گل که این تاپیک رو راه انداخت. به شخصه الان یک ماهه دارم با کرون + آریا دانلود می کنم و کلی چیزا هم یاد گرفتم.

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

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
خیلی خوب از  idm  هم بهتر شد این اسکریپت دیالوگ توی بش رو هم میزاشتی ما هم استفاده می کردیم  ;D
\********** زندگی یعنی یاد دادن و آموختن ؛ ابونتو یعنی زندگی **********/

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

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

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

sudo -u $USER zenity --progress \
  --title="Shutdown..." \
  --text="Do you want to cancel the shutdown system?" \
  --percentage=0 \
  --auto-close \
  --display=:0

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

بفرما  :) ذاشتم  ;D
البته این پستم مال قدیمه. پس یه مقدار ضعف امنیتی داره. شما دستورات ریشه‌ای رو بذار توی کرون ریشه و دستورات عادی رو بذار توی کرون یوزر. یعنی اون بخش:
echo "my password" | sudo -S apt-get -y dist-upgrade && echo "my password" | sudo -S bash ~/Dialogshutdownضعف امنیتی داره چون هر آدمی میتونه کرون یوزر رو بخونه (اگه پای سیستمت بشینه) و رمز سیستمت رو متوجه میشه. پس دستورات ریشه‌ای رو بذار توی کرون ریشه تا نیاز به گذاشتن پسورد نباشه.
برای اون دیالوگ هم باید Zenity نصب کنی که اگه اوبونتو یا اوبونتوگنوم داری، پیشفرض نصبه.
« آخرین ویرایش: 19 اسفند 1394، 01:39 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین jali316

  • Full Member
  • *
  • ارسال: 118
  • جنسیت : پسر
  • ubuntu 16.04
خیلی خوب از  idm  هم بهتر شد این اسکریپت دیالوگ توی بش رو هم میزاشتی ما هم استفاده می کردیم  ;D

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

sudo -u $USER zenity --progress \
  --title="Shutdown..." \
  --text="Do you want to cancel the shutdown system?" \
  --percentage=0 \
  --auto-close \
  --display=:0

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

بفرما  :) ذاشتم  ;D
البته این پستم مال قدیمه. پس یه مقدار ضعف امنیتی داره. شما دستورات ریشه‌ای رو بذار توی کرون ریشه و دستورات عادی رو بذار توی کرون یوزر. یعنی اون بخش:
echo "my password" | sudo -S apt-get -y dist-upgrade && echo "my password" | sudo -S bash ~/Dialogshutdownضعف امنیتی داره چون هر آدمی میتونه کرون یوزر رو بخونه (اگه پای سیستمت بشینه) و رمز سیستمت رو متوجه میشه. پس دستورات ریشه‌ای رو بذار توی کرون ریشه تا نیاز به گذاشتن پسورد نباشه.
برای اون دیالوگ هم باید Zenity نصب کنی که اگه اوبونتو یا اوبونتوگنوم داری، پیشفرض نصبه.
خیلی  ممنون. پس تا اینجا
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
در crontab -e و بقیه در sudo crontab -e
\********** زندگی یعنی یاد دادن و آموختن ؛ ابونتو یعنی زندگی **********/

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

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
نه  ;D
وقتی میخوای دستورات پشت سر هم اجرا بشن پس باید همه رو توی یه کرون بذاری. یا باید تمام دستورات عادی و ریشه رو بذاری توی کرون یوزر که خب بخش ریشه‌ش نقض امنیتی بوجود میاره یا باید تمام دستورات عادی و ریشه‌ای رو بذاری توی کرون ریشه که این بهترین راه حله. منتها چون دستورات عادی توی کرون ریشه به صورت نرمال اجرا نمیشن باید قبل از دستور از sudo -u $USER استفاده کنی تا سیستم متوجه بشه که اون دستور رو چه کاربری میخواسته اجرا کنه. توی اون دیالوگ هم اگه دقت کنی، من sudo -u $USER گذاشتم چون باید اینو بذاری توی کرون ریشه. Zenity برنامه‌ای نیست که نیاز به Root داشته باشه و برای اینکه توی کرون ریشه بخوای اجراش کنی باید به سیستم بفهمونی که من این Zenity رو میخوام ران کنم. کارِت نباشه  ;D ;D
بنابراین اینجوری میشه:
15 01 * * * sudo -u $USER aria2c -c -j1 -x16 -s16 -k 1M -d /home/$USER/Downloads -i /home/$USER/Desktop/Link.txt -l downloadlog --log-level=notice > logdownloadaria2c ; sudo ~/Dialogshutdownکرون ریشه برای دستورات ریشه‌ای نیاز به sudo نداره. ولی من نمیدونم چرا برای shutdown باز sudo‌میخواد  ??? فکر کنم یه بار جوابش رو دوستان دادن. ولی من یادم نیست. پس دوباره  ???
 ;D
راستی. دستورات طولانی رو بذار توی اسکریپت و بعد توی کرون آدرس اسکریپت رو بذار. گفتم که این پست مال قدیماس. کم کم آدم چیزای اصولی تر رو یاد میگیره  ;)
مثلا این واسه منه در حال حاضر:
# 15 01  * * * /home/ubuntu/Shell\ Script\ Command/dl-script ; sudo shutdown -h nowاین برای اجرا کردن اسکریپت مورد نیاز من، هرشب راس ساعت ۰۱:۱۵ و اینم محتویات اسکریپت:
#! /bin/bash

sudo -u ubuntu aria2c -c -j1 -x16 -s16 -k 1M -d /home/ubuntu/Downloads -i /home/ubuntu/Text/Link.txt > /home/ubuntu/Log/aria2c.log 2> /home/ubuntu/Log/aria2c-error.log
sudo apt-get update
sudo apt-get -y --download-only dist-upgrade > /home/ubuntu/Log/upgrade.log 2> /home/ubuntu/Log/upgrade-error.log
# sudo apt-get -y --download-only install
که خب از زمانی که های وب خریدم دیگه شب ها کاری انجام نمیدم و این اسکریپت ها به خاطره تبدیل شدن  ;D

نتیجه: اگه میخوای یه سری دستور توی کرون بذاری که باید پشت سر هم اجرا بشن، اگه یه سری دستور عادی‌ان و یه سری دستور ریشه‌ای هستن، باید کل اون خط رو توی کرون ریشه بذاری و برای دستورات عادی اون خط از sudo -u $USER استفاده کنی. ولی باقی خط‌ها اگه فقط شامل دستور عادی یا فقط شامل دستور ریشه هستن، میذاریشون توی کرون های مربوط به خودشون.
« آخرین ویرایش: 19 اسفند 1394، 02:31 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین Sadrolla

  • Sr. Member
  • *
  • ارسال: 443
  • جنسیت : پسر
آقا رسول یک پیشنهاد
آقای امیر صمیمی، گفته بودن که آریا بعد از مدتی تعداد کانکشن‌هاش کم می‌شه که در pdmt راه حلی براش اندیشیده بودن
الآن شما در این اسکریپت فکری برای این مورد کردین؟
اول قوانین خدا را به طور کامل رعایت کنیم بعد انتظار حمایت کامل رو از خدا داشته باشیم.

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

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

والا واسه من هیچ وخ پیش نیومده که سرعت کم بشه. همیشه سرعتم توی دانلود با آریا بالا بوده. اگه قرار باشه کانکشنی از کار بیفته همون دفعه اول می افته ولی بازم سرعتش بالاس واسه من. نمیدونم برای دیگران چرا این اتفاق می افته  ???
این اتفاق فقط زمانی تو چشمه که سرعت دانلود از اون سرور واقعا کم باشه و وقتی کانکشن ها از دست میرن سرعت هم بیاد پایین. من همیشه از سرورهای پرسرعت دانلود میکنم  ;D واسه همین مثلا ۲ کانکشن هم داره واسم ۶۰۰kb/s دانلود میکنه.
الان مثلا من اگه از فایل مانی یه سریال بگیرم، سرعتش در اول دانلود ۶۰۰ هست و در ۲ ثانیه آخرش هم باز ۶۰۰ هست. حالا دقت نکردم ببینم تعدادش هم به مرور کم میشه یا نه. اینکه تعداد یکی یکی کم میشه احتمال میدم مربوط به لینک های غیرمستقیم باید باشه.
« آخرین ویرایش: 19 اسفند 1394، 03:29 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

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

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
اینم برای مثال:
[#021fb1 320KiB/1.0GiB(0%) CN:16 DL:537KiB ETA:34m26s]
.
.
.
[#021fb1 1.0GiB/1.0GiB(99%) CN:16 DL:630KiB ETA:11s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:15 DL:626KiB ETA:10s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:15 DL:630KiB ETA:9s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:14 DL:628KiB ETA:8s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:14 DL:628KiB ETA:7s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:12 DL:626KiB ETA:6s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:11 DL:629KiB ETA:5s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:9 DL:628KiB ETA:4s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:7 DL:628KiB ETA:3s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:5 DL:622KiB ETA:2s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:4 DL:624KiB ETA:1s]
[#021fb1 1.0GiB/1.0GiB(99%) CN:3 DL:616KiB]

01/18 01:35:40 [^[[1;32mNOTICE^[[0m] Download complete: /home/ubuntu/Downloads/foo.mkv

طبق این مثال، اولی که سیستم شروع کرده به دانلود، ۱۶ کانکشن بوده و با سرعت ۵۰۰ که داشته شروع میشده تازه. این شتابش پایینه. ۰ تا ۱۰۰ش طول میکشه  ;D
و بعد از جایی که کانکشن ها کم شدن، دیگه آخرای دانلود بوده (۹۹ درصد) و هرچقدر هم که کم شده بازم سرعت همون ۶۰۰ باقی مونده تا زمانی که دانلود با موفقیت انجام شده.
پس واسه من کانکشن کم میشه ولی توی ۱ درصد اخر دانلود و سرعت هم تغییری نمی کنه چون اکثر لینک هام به همین شکلن. مثلا لینک های آپارات و همین فایل مانی و ... همه‌شون مستقیم و سرعت بالا هستن.
« آخرین ویرایش: 19 اسفند 1394، 03:36 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین Sadrolla

  • Sr. Member
  • *
  • ارسال: 443
  • جنسیت : پسر
آقا رسول یه پیشنهاد دیگه :دی
هر وقت فرصت کردی
همین کاری که کردی اسکریپت و cron و ... رو از صفر تا صد بنویسش و بزارش مثلا در اوبونتو نیوز
این‌جوری یه مقاله جمع و جور می‌شه که می‌شه به افرادی که نیاز دارن لینک داد و از تعداد سؤال‌های تکراری کم می‌شه
اول قوانین خدا را به طور کامل رعایت کنیم بعد انتظار حمایت کامل رو از خدا داشته باشیم.

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

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
آقا رسول یه پیشنهاد دیگه :دی
هر وقت فرصت کردی
همین کاری که کردی اسکریپت و cron و ... رو از صفر تا صد بنویسش و بزارش مثلا در اوبونتو نیوز
این‌جوری یه مقاله جمع و جور می‌شه که می‌شه به افرادی که نیاز دارن لینک داد و از تعداد سؤال‌های تکراری کم می‌شه
توی اوبونتونیوز هم باز به نظرم یه کار اضافیه. توی همون ویکی می نویسم اگه وقت کنم. قرار بود کلا فعالیتم رو ببرم توی ویکی و اینجا دیگه پست ندم. یه پیج Nano هم زدم ولی چشم خوردم دوباره از تو خیال ویکی در رفتم ;D ولی چشم، حتما اینجور آموز‌ش ها رو می نویسم. البته اسکریپت رو میشه گذاشت توی گیت هاب و بعد لینک اونارو گذاشت.
بعد راستی یه چیز دیگه. طبق تجربه‌ای که من با دیدن LPIC101 بدست آوردم، به نظرم کلا نوشتن مقاله‌ی لینوکسی چیز بیخودیه. به نظرم وظیفه‌ی ما فقط آگاهی دادن توی زمینه‌ی ابزارها و تعاریفشون باید باشه.
مثلا من الان وقتی یه برنامه می بینم، دیگه نمیرم بخونم ببینم طرف چه توضیحاتی برای سینتکس و ... داده. همون من پیجش رو بخونم همه چیز دستم میاد.
برای همین مثلا گفتن اینکه کرون چیه و فقط سینتکس اصلیش رو بنویسیم کافیه. تا اینکه بخواهیم واسش مقاله درست کنیم. چون مقاله‌ای که درست میکنیم اکثر موارد فقط به درد خودمون میخوره  ;D و سلیقه و نیاز دیگران با ما فرق داره.
واسه همین به جای اینکه بیاییم کلی توضیح بدیم روی یه موضوع، فقط معرفیش کنیم که اسم اون ابزار  به گوششون بخوره. دیگه باقیش رو برن توی من پیج بخونن. اینجوری وقتمون روی معرفی ابزارهای بیشتری صرف میشه.
ولی اسکریپت رو موافقم. اسکریپت یه مزیت خیلی خوبی که داره اینه که ایده میده به آدم. علاوه بر اینکه مثلا برای یه اسکریپت بش، کاربر باید کار با بش رو یاد بگیره، باید یه سری هم اسکریپت ببینه که ایده پیدا کنه واسه کارهای خفن‌تر.  واسه همین من ترکیب ویکی + گیت هاب رو به مقاله نوشتن توی یه سایت ترجیح میدم. توی ویکی برنامه هارو معرفی می کنیم و توی گیت هاب تجربه‌هامون رو شیر می کنیم.  :)
« آخرین ویرایش: 19 اسفند 1394، 06:21 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت