سلام
من یه فایل روی یه سایت هام دارم میخوام هر 5 دقیقه یک بار اجرا بشه پانلم دایرکت ادمین هست دستوراتش درست کار نمیکنه
کسی نمیدونه چجوری از تو ssh این فایل رو هر 5 دقیقه یک بار میتونم اجرا کنم ؟
نمایش نسخه قابل چاپ
سلام
من یه فایل روی یه سایت هام دارم میخوام هر 5 دقیقه یک بار اجرا بشه پانلم دایرکت ادمین هست دستوراتش درست کار نمیکنه
کسی نمیدونه چجوری از تو ssh این فایل رو هر 5 دقیقه یک بار میتونم اجرا کنم ؟
میتونی از برنامه crontab استفاده کنی
Crontab – Quick Reference
Cron command syntax
Linux crontab, cronjob Syntax, How to and tips | Linux Operating System
ممنون دوست عزیز ولی من فایلم چون php هست اجرا نمیکنه یعنی من به روش زیر عمل کردم cron ساخته شده جواب نداد
اولزدم بعد به دو صورت زیر به فایلم زمان دادم ولی کار نکردکد:crontab -e
کد:*/5 * * * * /home/rss/public_html/1.php
کد:5 * * * * /home/rss/public_html/1.php
cron یه دستور رو اجرا میکنه
یعنی باید فایل اجرایی یا دستور باشه
شما الان فقط فایل php رو میخواید اجرا کنید که نمیتونه
باید به خط فرمان cron بگید که دستور php فایل 1.php رو اجرا کنه چیزی شبیه این
کد:5 * * * * /usr/bin/php /home/rss/public_html/1.php
یعنی همین کدی که دادین رو اجرا کنم درست میشه ؟
چرا گفتین یه چیزی شبیه این ؟
---------- Post added at 09:24 AM ---------- Previous post was at 07:56 AM ----------
اینجوری که گفتین نوشتم جواب نداد 8-|
لطفا کمک کنید جدا کارم گیره فعلا یه برنامه تحت ویندوز نوشتم هر 5 دقیقه این فایل رو باز میکنه فعلا کارم رو راه انداخته ولی هر جور شده باید امروز درست بشه این cron
:-<
کـــــــــــــ مـــــــــــــــ کــــــــــــــ یــــــــــ نــــــــــــ یـــــــــــــ ســــــــــــــ تــــــــــــ ؟
ميتوني از wget استفاده كني
اگه اشتباه نكنم قبلا در اين مورد تو فروم بحث شده ، جستجو لطفا.
ممنون که جواب دادید
من یک فایل php با دستور file_get_contents هم توی یه سرور با سی پانل گذاشتم جواب نداد یعنی job corn وقتی اجرا میشد 3 تا خطای زیر رو میداد
منظورتون از دستور wget اینجوری میشه ؟کد:/home/tnk/public_html/rss/1.php: line 1: ?: No such file or directory
/home/tnk/public_html/rss/1.php: line 3: syntax error near unexpected token `'http://rss-gold.ir/1.php''
/home/tnk/public_html/rss/1.php: line 3: `$a=file_get_contents('http://rss-gold.ir/1.php');'
با این کار فایل 1.php مدام روی روت سایت دانلود نمیشه ؟کد:
crontab -e
*/5 * * * * wget http://rss-gold.ir/1.php
مطمئن هستید اجرا میشه ؟
و یا اگه هم اجرا بشه هم دانلود همین یک فایل روی هم مدام کپی میشن یا اینکه فایل rename میشه و دانلود میشه ؟
در مورد wget مطمئن نيستم فكر كنم روي فايل قبلي ذخيره ميشه.نقل قول:
با این کار فایل 1.php مدام روی روت سایت دانلود نمیشه ؟
اما قطعا اجرا ميشه
اينو امتحان كن :
1.php از خط 1 تا 5 رو بذار.کد PHP:
php -q /fulladress/script.php
این رو تست کنید ..
کد:/usr/local/bin/php /home/username/path/to/script.php >/dev/null
اره داداش با wget درست کار میکنه ولی فایل رو روی فایل قبلی کپی نمی کنه خواستم قبل دانلود با rm پاک کنم اونم تائیدیه میخواست
این جدیده رو الان تست میکنم
---------- Post added at 06:45 PM ---------- Previous post was at 06:42 PM ----------
این دایرکتوری های path/to تو مسیر فایل من نیست داداش لازمه بزارم ؟
فقط دستوراتی که میخواهید اجرا شود اینجا بدهید
متوجه منظورتون نشدم محتویات فایل 1.php رو کجا بذارم ؟
مسیر دقیق فایل رو بزنید مثلا اگر 1.php در public_html دارید به این صورت :
کد:/usr/local/bin/php /home/username/public_html/1.php >/dev/null
خسته نباشید
فایل php که اجرا نمیشود دوست عزیز
مگر شامل دستورات سیستم عامل لینوکسی باشد .
شما باید دستورات را برنامه ریزی بهش بدهید نه فایل
خب دلتاگستر عزیز چون اجرا نمیشه اینقدر این تاپیک به هم پیچ خورده دیگه Rezash یه کار جالب گفتن انجام دادم جواب داد گفت با دستور wget فایل رو بگیر اجرا میشه ولی دردسری که داشت این بود که هر 5 دقیقه یه بار این یه فایل پی اچ پی به روتم اضافه میشه با دستور rm بخوام پاک کنم قبل اضافه شدن نیاز به تائید داره بعد دستور بعدی که آقا Rezash داد هم جواب نداد
چیکار کنم ؟
باید دسکریشن بنویسن براتون یه Red hat کار حرفه ای توی تالار گیر بیارید تا من به زبان ساده الگوریتمشو بهش بگم تا اون شروع به برنامه نویسی کنه
m3hdi روش شمام جواب نداد :(
دلتاگستر عزیز من کسی رو توی تالار نمیشناسم نمیدونم چیکار کنم بدجور کارم گیر کرده راهی نیست تا بشه بدونه تائید فایلی رو از روی سرور حذف کرد ؟
---------- Post added at 07:45 PM ---------- Previous post was at 07:27 PM ----------
ممنون از همه دوستان که سعی کردند کمک کندد مخصوصا از آقا rezash عزیز که واقعا کمکم کردند
من اول هر 5 دقیقه یک بار با دستور wget فایل مورد نظر رو اجرا میکنم بعد با rm -rf هر 5 دقیقه یک بار اون فایل دانلود شده رو پاک میکنم ممنون از کمک همگی
دو نكته رو يادم اومد.
اول اينكه wget يك سري آپشن هم قبول ميكنه ، چك كردم براي اين مشكل دقيقا راه حل داره . كافيه به صورت wget -O نوشته بشه تا Overwirte بشه
براي اجراي مستقيم هم در صورتي درست عمل ميكنه كه بعد از تگ شروع php عبارت زير وارد شده باشه :
کد:#!/usr/local/bin/php
منظورتون از راه حل دوم اینه که کدی که دادین رو تو فایل php بزارم بعد عادی ادرسش رو بدم ؟
درسته ؟کد:*/5 * * * * /home/user/public_html/1.php
به صورتي كه جناب m3hdi گفتند بايد باشه و در اول برناتون كدي رو كه دادم بذاريد.
با wget به نتيجه نرسيديد ؟
پارامتر -o کار نمیکنه مجبور شدم هر 4 دقیقه یک بار با یه کورون دیگه حذف کنم فایل رو
اينم تست كن
اينجا توضيحات كامل هست :کد PHP:
wget -r -nd --delete-after http://url/script.php/
GNU Wget 1.12 Manual
استفاده از wget و overwrite کردن رو به هیچ وجه استفاده نکنید ..
کد زیر حتما بهتون جواب میده
موفق باشیدکد:php -q /home/user/public_html/1.php
مشکل از یه جایه دیگس ، چون من خودم این کد رو امتحان کردم
شما با wget هر 5 دقیقه یک فایل رو دانلود و روی هارد می نوسید ، این کار درست نیست.
میشه بفرمایید فایل مربوطه قراره چه کاری انجام بده ؟
اگر عمومی نیست می تونید از پیغام خصوصی استفاده کنید
اگه مشکل حل نشده من بلدم میتونم انجام بدم
منم این مشکل رو داشتم ولی دیروز پیدا کردم روش درست کردن رو
اگه بتونید تو یاهو پی ام بدید یاد میدم ای دی یاهو تو امضا موجود هست
saraco این آی دی رو ادد کردم درسته ؟
---------- Post added 11-04-07 at 12:02 AM ---------- Previous post was 11-04-06 at 11:30 PM ----------
مشکل همچنان پا برجاست
این دستور بالا کاری که میخواستیم رو انجام نمیده ؟کد:lynx -source http://rss-gold.ir/1.php
من از این سایت این دستور رو یاد گرفتم cPanel Tutorial - Cron Jobs
منتظر جوابتون هستم
با تشکر