بحث راهنما:اجرای ربات در تول‌سرور

message: یک فایل bash ساختم. حال این فایل را چگونه باید در crontab فراخوانی کنم؟ آیا پس از تکمیل ساخت crontab، بطور خودکار دستورات crontab براساس زمان‌بندی اجرا می‎شوند یا نیاز هست دستوری در این باره بدهم؟ 
replies: text: نام فایل Bash چیست؟ چه اسکپریتی را باید اجرا کند؟ و قصد دارید در چه تاریخ و ساعت و دقیقه ای اجرا شود؟--MehdiTalk ‏۲۸ مارس ۲۰۱۲، ساعت ۱۵:۱۶ (UTC)
بعنوان مثال من میخواهم هر روز هر شش ساعت یکبار 50 مقاله آخر ویکی‌فارسی را رده همسنگ بدهد. نام بش فایل را hamfa6 گذاشتم.--عباس ☢</span></span> ✉</span> ‏۲۸ مارس ۲۰۱۲، ساعت ۱۵:۲۹ (UTC)
تنظیمات را نیز به شکل ذیل انجام دادم--عباس ☢</span></span> ✉</span> ‏۲۸ مارس ۲۰۱۲، ساعت ۱۵:۳۳ (UTC)
0 6 * * * python   /root/elph/pywikipedia/hamsang.py -new:50 >/dev/null 2>&1

text: (تعارض) crontab به این صورت عمل نمیکند. باید یک ساعت مشخص را انتخاب کنید تا برایتان شروع کند. یعنی ساعت 6 صبح یک دستوردر crontab بنویسید، سپس یک دستور دیگر برای 12 ظهر، یکی برای 18 و یکی نیز برای ساعت 00 . --MehdiTalk ‏۲۸ مارس ۲۰۱۲، ساعت ۱۵:۳۳ (UTC)

text: اکنون باید سه دستور دیگر نیز برای سایر ساعت‌ها ایجاد کنید.--MehdiTalk ‏۲۸ مارس ۲۰۱۲، ساعت ۱۵:۳۵ (UTC)

text: یک مورد دیگر، این دستور شما صحیح نیست و از bash نمیخواند. برای اجرا bash باید بنویسید:
0 6 * * * bash /home/elph/pywikipedia/hamfa6 >/dev/null 2>&1
--MehdiTalk ‏۲۸ مارس ۲۰۱۲، ساعت ۱۵:۳۷ (UTC)

text: برای هر از ۶ ساعت باید نوشت
0 0,6,12,18 * * * bash /home/elph/pywikipedia/hamfa6 >/dev/null 2>&1
رضا ۱۶۱۵ / ب ‏۲۸ مارس ۲۰۱۲، ساعت ۱۵:۴۱ (UTC)

text: سپاس رضای عزیز. این مورد را نمیدانستم.--MehdiTalk ‏۲۸ مارس ۲۰۱۲، ساعت ۱۵:۴۸ (UTC)
replies: text: :(ترفند) پیشنهاد اگر دستور بالا در یک خط جای نمی‌شود نام فولدر pywikipedia را به نام کوتاه‌تری تغییرنام دهید مثلا py یا pywiki یا pyelph :) یا دستور را در دو خط بنویسید به این صورت 
0 0,6 * * * bash /home/elph/pywiki/hamfa6 >/dev/null 2>&1
0 12,18 * * * bash /home/elph/pywiki/hamfa6 >/dev/null 2>&1
رضا ۱۶۱۵ / ب ‏۲۸ مارس ۲۰۱۲، ساعت ۱۶:۰۲ (UTC)
دلیل خطای nocrontab generated چیست؟ حتی پیشنهاد رضا برای دوسطره کردن را انجام دادم ولی کماکان اوضاع همانگونه است. عباس ☢</span></span> ✉</span> ‏۲۸ مارس ۲۰۱۲، ساعت ۱۶:۱۴ (UTC)

text: برای اینکه ایجادش نکردید.میخواهید تمامی دستور ها را برایتان بنویسم؟
بسیار خب: بجای آموزش ماهیگیری ماهی را میدهم دستتان:
پس از ورود به اکانت تولسرور این دستور را تایپ کنید:
crontab -e
اینتر را بزنید و پس از ورود به محیط برنامه ویرایشگر مربوطه اینها را بنویسید:
0 0,6 * * * bash /home/elph/pywiki/hamfa6 >/dev/null 2>&1
0 12,18 * * * bash /home/elph/pywiki/hamfa6 >/dev/null 2>&1
سپس کلیدهای ترکیبی Ctrl + X
و سپس حرف Y را بزنید و اینتر
نام پیشنهادی را بپذیرید (با زدن اینتر)
کار تمام شد و برای دیدن محتویات crontab بزنید:
crontab -L
حالا باید صبر کنید تا شش ساعت سپری شود و خودش اجرا میشود. مطلب دیگر: حتی برای کنجکاوی هم:
crontab -r
را نزنید. زیرا بدون هیچ هشداری crontab حذف میشود و باید از اول همه را بنویسید.
--MehdiTalk ‏۲۸ مارس ۲۰۱۲، ساعت ۱۶:۲۶ (UTC)
آقا دستتان درد نکند ولی باور کنید من هم همین مراحل را میرفتم. اون داستان ماهی و ماهیگیری هم عجب تیکه خفنی بود:)) عباس ☢</span></span> ✉</span> ‏۲۸ مارس ۲۰۱۲، ساعت ۱۶:۴۱ (UTC)

text: اکنون در کدام قسمت مشکل دارید؟ اگر مراحل را درست رفته اید دیگر مشکلی نیست.--MehdiTalk ‏۲۸ مارس ۲۰۱۲، ساعت ۱۶:۵۴ (UTC)
فعلاً که مشکلی نیست. پوتی را می‌بندم و میخوابم خودش احتمالا ساعت 12 ویرایش خواهد کرد. البته امیدوارم که بکند:) عباس ☢</span></span> ✉</span> ‏۲۸ مارس ۲۰۱۲، ساعت ۱۶:۵۶ (UTC)

text: یک نکته ببخشید اشتباه کردم ساعت ۲۴ وجود ندارد! باید ۰ نوشت در نتیجه ۲۴ را حذف کنیدرضا ۱۶۱۵ / ب ‏۲۸ مارس ۲۰۱۲، ساعت ۱۸:۱۷ (UTC)
thread_title:  درخواست راهنمائی دربارهٔ bash و crontab 

message: اگر به هر دلیلی دستوری داشته باشیم که بخواهیم همین الان آن را از crontab و نه به شکل مستقیم اجرا کنیم، چند سوال بوجود می‌آید.1. آیا لزومی به قرار دادن آن در یک بش فایل و فراخوانی بش فایل در crontab وجود دارد؟ یا اینکه مستقیماً می‌توان همان فرمان را در crontab گذاشت؟2. شکل زمان بندی برای چنین حالتی که می‌خواهیم دستور اینک آغاز شود چگونه خواهد بود؟--عباس ☢</span></span> ✉</span> ‏۲۹ مارس ۲۰۱۲، ساعت ۰۸:۰۴ (UTC)
replies: text: باید دستور زیر را بنویسید توجه کنید چون قصد اجرا برای همین الان را دارید باید ساعت را برا چند دقیقه بعد تنظیم کنید مثلا الان ۱۰:۲۵ هست دستور را برای ۱۰:۲۶ تنظیم می‌کنیم
26 10 * * * python /home/elph/pywiki/example.py >/dev/null 2>&1
bash فایل مانند فایل‌های پایتون هست اگر قصد اجرای یک فایل پایتون را دارید به سیستم بگویید که با برنامه پایتون آن را اجرا کند مانند مثال بالارضا ۱۶۱۵ / ب ‏۲۹ مارس ۲۰۱۲، ساعت ۰۹:۰۵ (UTC)
thread_title:  باز هم crontab 

message: درود به دوستان. متاسفانه امروز و امشب چشم درد داشتم/دارم و نمی‌توانم بحث‌ها را با دقت بخوانم. من می‌خواهم ربات هر بیست دقیقه یکبار، ۱۰۰۰ تغییر اخیر ویکی‌فا، ۱۰۰۰ تغییر انگلیسی و ۵۰۰ تغییر هلندی  را میان‌ویکی بدهد. یک فایل Bash بدون پسوند با نام mamad ساختم که محتویاتش چنین است:
#! /bin/bash
# interwiki -ns:0
python /home/darafsh/pywiki/interwiki.py -recentchanges:1000 -autonomous
python /home/darafsh/pywiki/interwiki.py -recentchanges:1000 -autonomous -lang:en
python /home/darafsh/pywiki/interwiki.py -recentchanges:500 -autonomous -lang:nl
سپس در crontab نوشتم:
 0,20,40 * * * * bash /home/darafsh/pywiki/mamad >/dev/null 2>&۱
آیا فرآیند را درست کار کرده‌ام و دستورات را صحیح وارد کردم؟ اگر بخواهم دستور دیگری (مثلاً رده، خوشامد و مانند اینها) بدهم باید تغییرات را به فایل bash بیفزایم، درست است؟ دوستدار درفش کاویانی (بحث)   ۲۴ فروردین ۱۳۹۱، ساعت ۰۶:۱۰ (ایران) ‏۱۲ آوریل ۲۰۱۲، ساعت ۰۱:۴۰ (UTC)
replies: text: :یحتمل درست است، چون دارد کار می‌کند;) درفش کاویانی (بحث)   ۲۴ فروردین ۱۳۹۱، ساعت ۰۷:۵۷ (ایران) ‏۱۲ آوریل ۲۰۱۲، ساعت ۰۳:۲۷ (UTC)
thread_title: تاییدیه