نه
وقتی میخوای دستورات پشت سر هم اجرا بشن پس باید همه رو توی یه کرون بذاری. یا باید تمام دستورات عادی و ریشه رو بذاری توی کرون یوزر که خب بخش ریشهش نقض امنیتی بوجود میاره یا باید تمام دستورات عادی و ریشهای رو بذاری توی کرون ریشه که این بهترین راه حله. منتها چون دستورات عادی توی کرون ریشه به صورت نرمال اجرا نمیشن باید قبل از دستور از sudo -u $USER استفاده کنی تا سیستم متوجه بشه که اون دستور رو چه کاربری میخواسته اجرا کنه. توی اون دیالوگ هم اگه دقت کنی، من sudo -u $USER گذاشتم چون باید اینو بذاری توی کرون ریشه. Zenity برنامهای نیست که نیاز به Root داشته باشه و برای اینکه توی کرون ریشه بخوای اجراش کنی باید به سیستم بفهمونی که من این Zenity رو میخوام ران کنم. کارِت نباشه
بنابراین اینجوری میشه:
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میخواد
فکر کنم یه بار جوابش رو دوستان دادن. ولی من یادم نیست. پس دوباره
راستی. دستورات طولانی رو بذار توی اسکریپت و بعد توی کرون آدرس اسکریپت رو بذار. گفتم که این پست مال قدیماس. کم کم آدم چیزای اصولی تر رو یاد میگیره
مثلا این واسه منه در حال حاضر:
# 15 01 * * * /home/ubuntu/Shell Script Command/dl-script ; sudo shutdown -h now
این برای اجرا کردن اسکریپت مورد نیاز من، هرشب راس ساعت ۰۱:۱۵ و اینم محتویات اسکریپت:
#! /bin/bashsudo -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
که خب از زمانی که های وب خریدم دیگه شب ها کاری انجام نمیدم و این اسکریپت ها به خاطره تبدیل شدن
نتیجه: اگه میخوای یه سری دستور توی کرون بذاری که باید پشت سر هم اجرا بشن، اگه یه سری دستور عادیان و یه سری دستور ریشهای هستن، باید کل اون خط رو توی کرون ریشه بذاری و برای دستورات عادی اون خط از sudo -u $USER استفاده کنی. ولی باقی خطها اگه فقط شامل دستور عادی یا فقط شامل دستور ریشه هستن، میذاریشون توی کرون های مربوط به خودشون.
- - , .
اوبونتو...
ما را در سایت اوبونتو دنبال می کنید
برچسب : نویسنده : استخدام کار ubuntu بازدید : 120 تاريخ : چهارشنبه 19 اسفند 1394 ساعت: 19:53