شما هنوز به سیستم وارد نشده اید.

#1 2015-11-24 23:53:21

kourosh
عضو
ثبت شده: 2015-11-24
ارسال ها: 137

مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

درود
خب عرض کنم که من داخل ترمینال میخوام یک کرون جاب ست کنم میزنم
crontab -e و با یک ادیتوری باز میکنه که اصلا داغون و نمیتونم کار کنم قبلش زدم
export EDITOR=nano
و دوباره crontab -e رو اجرا کردم و با نانو ادیت شد حالا بحث اینه من ترمینال رو ببندم یا سیستم رو ریستارت کنم این دوباره باز همون ادیتور پیش فرض میمونه و کاملا داغونه و نمیشه کار کرد :دی راهی هست بشه به طور کلی ادیتور رو به نانو توی ترمینال تغییر داد که اگر زدیم crontab -e با نانو ادیت بشه ؟


مشکل دوم :

من بعد از این که تونستم با export EDITOR=nano  کرون جاب رو با نانو ادیت کنم یک کرون ست کردم ولی عمل نکرد ! مثلا گفتم فلان ساعت و فلان دقیقه بیا این فایلو باز کن! چمیدونم سودو ریبوت ! ریستارت شو ! و چندین باز توی محیط روت و یوزر تست کردم ولی جواب نمیده و کرون ران نمیشه مشکل کجاست  ؟
بروسونین راهنمایی هاتون رو که من امشب باید یه کرون جاب مهم ست کنم  smile))))


Just ArchLinux

آفلاین

#2 2015-11-25 00:35:57

Arcush
Administrator
ثبت شده: 2015-09-15
ارسال ها: 1,542

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

میتونید با قرار دادن export VISUAL=nano در bashrc. ادیتور پیشفرض ترمینالتون رو nano بکنید و دیگه مجبور نیستید که برای هر ویرایش فایل کرون با ادیتور nano اون دستور رو بزنید. اما برای استفاده از کرون، حتما اینجا رو مطالعه کنید:
https://wiki.archlinux.org/index.php/Cron
یه راهنمای مینیمال هم اینجا هست:
http://arcush.ir/index.php/1394/04/30/cron/
همچنین درمورد کار نکردن سرویس کرون، اولین احتمال رو که باید چک کنید این هست که ممکنه سرویس کرون فعال نباشه. دستور زیر وضعیت سرویس کرون رو نشون میده:

 $  systemctl status cronie.service

در صورتیکه موفق به راه اندازی نشدید، برنامه ای رو که قراره به کرون بدید مطرح کنید.

ویرایش: من و سعید همزمان ارسال کردیم. smile

ویرایش'.

آخرین ویرایش توسط Arcush (2015-11-25 01:18:22)

آنلاین

#3 2015-11-25 00:59:19

kourosh
عضو
ثبت شده: 2015-11-24
ارسال ها: 137

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

Arcush نوشته است که:

میتونید با قرار دادن export EDITOR=nano در bashrc. ادیتور پیشفرض ترمینالتون رو nano بکنید و دیگه مجبور نیستید که برای هر ویرایش فایل کرون با ادیتور nano اون دستور رو بزنید. اما برای استفاده از کرون، حتما اینجا رو مطالعه کنید:
https://wiki.archlinux.org/index.php/Cron
یه راهنمای مینیمال هم اینجا هست:
http://arcush.ir/index.php/1394/04/30/cron/
همچنین درمورد کار نکردن سرویس کرون، اولین احتمال رو که باید چک کنید این هست که ممکنه سرویس کرون فعال نباشه. دستور زیر وضعیت سرویس کرون رو نشون میده:

 $  systemctl status cronie.service

در صورتیکه موفق به راه اندازی نشدید، برنامه ای رو که قراره به کرون بدید مطرح کنید.

ویرایش: من و سعید همزمان ارسال کردیم. smile

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


Just ArchLinux

آفلاین

#4 2015-11-25 01:06:14

kourosh
عضو
ثبت شده: 2015-11-24
ارسال ها: 137

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

Arcush نوشته است که:

میتونید با قرار دادن export EDITOR=nano در bashrc. ادیتور پیشفرض ترمینالتون رو nano بکنید و دیگه مجبور نیستید که برای هر ویرایش فایل کرون با ادیتور nano اون دستور رو بزنید. اما برای استفاده از کرون، حتما اینجا رو مطالعه کنید:
https://wiki.archlinux.org/index.php/Cron
یه راهنمای مینیمال هم اینجا هست:
http://arcush.ir/index.php/1394/04/30/cron/
همچنین درمورد کار نکردن سرویس کرون، اولین احتمال رو که باید چک کنید این هست که ممکنه سرویس کرون فعال نباشه. دستور زیر وضعیت سرویس کرون رو نشون میده:

 $  systemctl status cronie.service

در صورتیکه موفق به راه اندازی نشدید، برنامه ای رو که قراره به کرون بدید مطرح کنید.

ویرایش: من و سعید همزمان ارسال کردیم. smile

خب مشکل باز هم رفع نشد ! من سرویس کرون رو ران کردم و استتوس گرفتم و اکتیو هست!
و زدم

[kourosh@kourosh ~]$ crontab -e
crontab: installing new crontab
[kourosh@kourosh ~]$ 

با مقدار
02 00 * * * gedit /home/kourosh/links.txt

که این فایلو باز کنه توی دوازده ودو دقیقه! اما انجام نشد !!
مشکل کجاست ؟


Just ArchLinux

آفلاین

#5 2015-11-25 01:23:09

Arcush
Administrator
ثبت شده: 2015-09-15
ارسال ها: 1,542

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

سینتکس قرار دادن برنامه هایی که برای اجرا به X نیاز دارن در کرون، کمی متفاوته. در اینمورد، اینجا رو ببینید:
https://wiki.archlinux.org/index.php/Cr … plications
همچنین مثال ۲ رو در اینجا نگاه کنید:
http://arcush.ir/index.php/1394/04/30/cron/

آنلاین

#6 2015-11-25 01:51:49

kourosh
عضو
ثبت شده: 2015-11-24
ارسال ها: 137

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

stackoverflow نوشته است که:

جواب مشکل اول تون:
در حالت کلی میدونیم که میشه با دستور زیر یک متغیر محلی را در سیستم تعریف کرد و از طریق متغیر path به آن دسترسی داشت:

export VAR=programName 

به عنوان مثال می توان ویرایشگر سیستم را روی sublime ست کرد.به این صورت:

export EDITOR=subl3 

اما مشکل این روش این است که با بستن ترمینال عملا تمامی متغیرهای محلی که ست شده ان از دست میرن و در دفعات بعدی باید دوباره ست شوند.(مشکل شما دقیقا!)
برای ست کردن دایمی متغیر های محلی بایستی آنها را به انتهای فایل bash.bashrc  اضافه کنیم.آدرس این فایل در این مسیر موجود است:

/etc/bash.bashrc

به عنوان مثال برای ست کردن دایمی سابلایم به عنوان ادیتور پیش فرض بایستی عبارت ذیل را به انتهای فایل مذکور اضافه کنیم:

export EDITOR=subl3 

کافی است ترمینال را باز کرده و از صحت عملکرد آن مطمین شوید:

echo $EDITOR

درود بر شما سپاسگزارم مشکل برطرف گردید اما باز یه مشکل دیگه پشت سرش پیش اومد !!
الان توی محیط یوزر مثلا میزنم crontab -e با نانو باز میشه !
اما اگه همینو توی محیط یوزر اینطوری بزنم !
sudo crontab -e با همون ادیتور داغون پیش فرض باز میشه !اگه سویچ کنم به محیط روت و بزنم crontab -e درسته !فقط زمانی که اول کامند از سودو استفاده میکنم ادیتور میشه همون پیش فرض اولیه !


Just ArchLinux

آفلاین

#7 2015-11-25 02:15:00

kourosh
عضو
ثبت شده: 2015-11-24
ارسال ها: 137

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

stackoverflow نوشته است که:

میتونید از سوییچ E- به همراه sudo استفاده کنید.

خب اره اما به هر حال باید راهی باشه  که نیاز به استفاده از سویچی چیزی نباشه ! همه چی اوکیه فقط با سودوداره بازی در میاره !
از دسترسی های داخل visudo نیست ؟


Just ArchLinux

آفلاین

#8 2015-11-26 00:20:01

Arcush
Administrator
ثبت شده: 2015-09-15
ارسال ها: 1,542

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

بطور خلاصه میشه گفت "در کرون تب کاربر غیر ریشه از sudo استفاده نکنید." سودو نیاز به پسورد داره. درصورتیکه انتخاب کنید که در کرون کاربر غیرریشه از سودو استفاده کنید باید به فکر این باشید که برای پسوردش چیکار کنید. البته راه هایی وجود دارن. ولی هرکدومشون باعث میشن تا جریان از حالت ساده خودش خارج بشه. مثلا قرار دادن کامند در فایل های *etc/cron/ و مخصوصا فایل etc/crontab/. دراینصورت چون شما برای ادیت هرچیزی در دایرکتوری etc باید با سودو دسترسی ریشه رو بگیرید، درواقع پسورد رو کاملا اگاهانه و طبق معمول وارد می کنید. ولی نه در فایل کرون تب.

روش دیگه  استفاده از چنین چیزی هست بجای خود sudo در فایل کرون تب:

echo "password" | sudo

قطعا خیلی از دوستان از من خرده خواهند گرفت که چرا چنین چیزی رو نوشتم؛ چراکه این اصلا منطقی نیست تا شما پسورد خودتون رو توی یه فایل متنی که تازه بدون دسترسی ریشه میشه بهش دسترسی داشت ذخیره کردید!! بنابراین این دومی بهیچ عنوان پیشنهاد نمیشه. روش سوم که دیگه اصلا پیشنهاد نمیشه دستکاری فایل visudo هست. بهیچ وجه منطقی نیست تا بخاطر یه کرون، این کار انجام داده بشه.

یه راه تر و تمیز برای حالتی که قراره از دسترسی کاربر ریشه در کرون تب استفاده بشه، استفاده از کرون خود کاربر ریشه هست. در اینصورت برای اون موضوع ویرایشگر پیشفرض هم باید فایل bashrc./ رو بطریقی که در بالا بحث شد  ویرایش کنید. بعلاوه مخصوصا وقتی تعداد کامندها در چند خط هست، ترجیح خیلی ها اینه که اونها رو به صورت یک اسکریپت اجرایی در بیارن و اون اسکریپت رو بذارن توی کرون تب؛ چه در حالت کرون ریشه و چه در حالت کرون کاربر عادی.

آنلاین

#9 2015-11-26 02:19:44

kourosh
عضو
ثبت شده: 2015-11-24
ارسال ها: 137

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

Arcush نوشته است که:

بطور خلاصه میشه گفت "در کرون تب کاربر غیر ریشه از sudo استفاده نکنید." سودو نیاز به پسورد داره. درصورتیکه انتخاب کنید که در کرون کاربر غیرریشه از سودو استفاده کنید باید به فکر این باشید که برای پسوردش چیکار کنید. البته راه هایی وجود دارن. ولی هرکدومشون باعث میشن تا جریان از حالت ساده خودش خارج بشه. مثلا قرار دادن کامند در فایل های *etc/cron/ و مخصوصا فایل etc/crontab/. دراینصورت چون شما برای ادیت هرچیزی در دایرکتوری etc باید با سودو دسترسی ریشه رو بگیرید، درواقع پسورد رو کاملا اگاهانه و طبق معمول وارد می کنید. ولی نه در فایل کرون تب.

روش دیگه  استفاده از چنین چیزی هست بجای خود sudo در فایل کرون تب:

echo "password" | sudo

قطعا خیلی از دوستان از من خرده خواهند گرفت که چرا چنین چیزی رو نوشتم؛ چراکه این اصلا منطقی نیست تا شما پسورد خودتون رو توی یه فایل متنی که تازه بدون دسترسی ریشه میشه بهش دسترسی داشت ذخیره کردید!! بنابراین این دومی بهیچ عنوان پیشنهاد نمیشه. روش سوم که دیگه اصلا پیشنهاد نمیشه دستکاری فایل visudo هست. بهیچ وجه منطقی نیست تا بخاطر یه کرون، این کار انجام داده بشه.

یه راه تر و تمیز برای حالتی که قراره از دسترسی کاربر ریشه در کرون تب استفاده بشه، استفاده از کرون خود کاربر ریشه هست. در اینصورت برای اون موضوع ویرایشگر پیشفرض هم باید فایل bashrc./ رو بطریقی که در بالا بحث شد  ویرایش کنید. بعلاوه مخصوصا وقتی تعداد کامندها در چند خط هست، ترجیح خیلی ها اینه که اونها رو به صورت یک اسکریپت اجرایی در بیارن و اون اسکریپت رو بذارن توی کرون تب؛ چه در حالت کرون ریشه و چه در حالت کرون کاربر عادی.


پستی در مورد اسکریپت اجرای به زبان فارسی در انجمن داریم؟ یا منبع فارسی یا حداقل انگلیسی قابل فهم جایی توضیح داده باشه ؟
لینک بذارید یا خودتون توضیح بدید ممنون میشم


Just ArchLinux

آفلاین

#10 2015-11-26 10:44:50

Arcush
Administrator
ثبت شده: 2015-09-15
ارسال ها: 1,542

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

موضوع اسکریپت در shell بسیار کلی تر از cron هست. "ریختن دستورهای برای اجرا در زمان خاص توی یه اسکریپت و بعد سپردن این اسکریپت به کرون برای اجرا" در حد همین نقل قول هست. مثال ۳ ررو در اینجا نگاه کنید:
http://arcush.ir/index.php/1394/04/30/cron/
اما اینکه به چه شکل یک اسکریپت شل بنویسید - در واقع اصل موضوع- یکی از موضوعات بیشتر پرداخته شده در رابطه با توزیع های گنو/لینوکسه. درباره نوشتن شل-اسکریپت مراجع فارسی و غیرفارسی زیادی وجود دارن. درصورتیکه میخواید برای اولین بار این موضوع رو تجربه کنید در انتخاب منبع اموزشی وسواس بخرج بدید و یک منبع اوریژینال و البته با توضیحات ساده و غیربنیادگرایانه انتخاب کنید که سرشار از مثال باشه. در مرحله بعد، درصورتیکه بخواید یک متخصص در این زمینه بشید، قطعا باید به مراجع و کتاب هایی که در لایه های پائین تر به موضوع می پردازند رجوع کنید. من در رابطه با اسکریپت نویسی در شل اینجا رو خوندم و کمبودی هم احساس نکردم. پیشنهاد می کنیم بخش های Linux tutorial و Bash scriptingش رو موازی باهم پیش برید که زیاد هم تموم کردنشون طول نمی کشه.

http://ryanstutorials.net/

آنلاین

#11 2016-03-14 01:16:52

Arcush
Administrator
ثبت شده: 2015-09-15
ارسال ها: 1,542

پاسخ: مشکل تغییر ادیتور ترمینال به طور کلی - کار نکردن کرون جاب

منم باهاتون موافقم. گرچه این تاپیک راجع به cron هست، اما ظاهرا حل شده به نظر میرسه و بنابراین منم الان میتونم صحبت های شما رو با این لینک تکمیل کنم (شروع خوبی برای مهاجرت به system/time):

https://aur.archlinux.org/packages/systemd-cron-next/

آنلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB