پاسخ : شروع دانلود و خاموش شدن خودکار با تکیه بر cron و aria2c

ساخت وبلاگ
نه  ;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 استفاده کنی. ولی باقی خط‌ها اگه فقط شامل دستور عادی یا فقط شامل دستور ریشه هستن، میذاریشون توی کرون های مربوط به خودشون.

- - , .

اوبونتو...
ما را در سایت اوبونتو دنبال می کنید

برچسب : نویسنده : استخدام کار ubuntu بازدید : 91 تاريخ : چهارشنبه 19 اسفند 1394 ساعت: 18:09