PDA

View Full Version : ساخت cron jobs به وسیله PHP



sargardoon
چهارشنبه 31 فروردین 1390, 18:33 عصر
سلام دوستان،
ممنونم میشم اگر کسی منو راهنمایی کنه که چطوری میشه به وسیله پی اچ پی CRON JOB ساخت.
من خودم از طریق کنترل پنل میدونم.

sargardoon
پنج شنبه 01 اردیبهشت 1390, 07:38 صبح
کسی نبود در این رابطه کمکی بکنه؟؟؟؟

MMSHFE
پنج شنبه 01 اردیبهشت 1390, 07:40 صبح
با سلام، دوست عزيز دستورات Cron كه متعلق به PHP نيستن كه بخواين با PHP اين كار رو انجام بدين. در هر حال اگه ساختار اين دستورات رو توي Linux بدونيد (توي اينترنت با يكم جستجو پيدا ميكنيد)، ميتونيد با دستور exec (اگه اشتباه نكنم) كه براي فراخواني دستورات سيستمي هست، اون رو اجرا كنيد.
موفق باشيد.

sargardoon
پنج شنبه 01 اردیبهشت 1390, 09:18 صبح
با سلام، دوست عزيز دستورات Cron كه متعلق به PHP نيستن كه بخواين با PHP اين كار رو انجام بدين. در هر حال اگه ساختار اين دستورات رو توي Linux بدونيد (توي اينترنت با يكم جستجو پيدا ميكنيد)، ميتونيد با دستور exec (اگه اشتباه نكنم) كه براي فراخواني دستورات سيستمي هست، اون رو اجرا كنيد.
موفق باشيد.
سلام دوست عزیز،
آره میدونم که متعلق به PHP نیست، فکر کنم درست متوجه منظورم نشدید، برای مثال من یه برنامه نوشتم که بک آپ از دیتابیس میگیره و به آدرس ایمیلی که نوشتید میفرسته، با cron job میشه این عملیات را زمان بندی کرد که این عملیات انجام داده بشه، به وسیله امکانی که توی cPanel وجود داره راحت میشه اینکار را انجام داد، ولی من میخوام بدون اینکه به کنترل پنل دسترسی داشت این زمان بندی را درست کرد. یعنی یه فایلی ساخت که در زمان مشخص برنامه اجرا بشه

برای نمونه میخوام به این صورت زمان بندی بشه

0 0 * * * /blog/backup.php
این کد یعنی روزانه اون فایل backup.php اجرا بشه.

sargardoon
پنج شنبه 01 اردیبهشت 1390, 09:27 صبح
با سلام، این فایلی که ضمیمه کردم مربوط به افزونه وردپرس هستش که به این صورت کار میکنه که در زمانی که براش مشخص کردید بک آپ گرفته و به ایمیل شما میفرسته.

sargardoon
پنج شنبه 01 اردیبهشت 1390, 15:46 عصر
دوستان کسی نبود کمکی بکنه، شدیدا لازم دارم چند وقتیه درگیر این شدم.

Mr.Moghadam
پنج شنبه 01 اردیبهشت 1390, 20:36 عصر
اینجا یه چیزی درست کرده یه نگا بنداز(تست نکردم)


http://net.tutsplus.com/tutorials/php/managing-cron-jobs-with-php-2/

sargardoon
جمعه 02 اردیبهشت 1390, 01:33 صبح
اینجا یه چیزی درست کرده یه نگا بنداز(تست نکردم)


http://net.tutsplus.com/tutorials/php/managing-cron-jobs-with-php-2/
ممنونم دوست عزیز از توجهتون
اینو قبلا خونده بودم ولی چیزی دستگیرم نشد، یعنی درست متوجه توضیحاتش نشدم، مثلا در اینجا باید مشخصات نام کاربری، رمز، پورت، هاست رو مشخص کنی در صورتی که در نمونه بالایی که گذاشتم هیچ تنظیمات از طرف شما نداره، فقط لازمه که زمان و جدول رو مشخص کنی. البته کلاس جامع و کاملی نوشته بود، اگر دوستانی که تجربه بیشتر در زمینه PHP دارند این رو بهتر تشریح کنند با یه مثال ساده مثل ارسال ایمیل و یا بک آپ عالی میشه، کاربرد خیلی زیادی داره و خیلی به درد بخوره

این هم یه مقاله دیگری بود که خوندم ولی باز متوجه نشدم
http://www.htmlcenter.com/blog/running-php-scripts-with-cron/

sargardoon
شنبه 03 اردیبهشت 1390, 08:40 صبح
دوستان اگر ممکنه منو راهنمایی کنید شدیدا گیر کرده ام و سخت به همکاری شما نیازمند.

UnnamE
شنبه 03 اردیبهشت 1390, 08:52 صبح
دستورات رو در فايل ي بنويس و اون فايل رو در جايي كه بيشتر load ميشه مثلا index.php برو include‌ كن و بر اساس شرطي كه نوشتي ميتوني اون دستورات رو انجام بدي
ولي واقعا روش به صرفه اي ني، نميدونم چزا نميخواي از cronjob سرور استفاده كني
البته خود wp هم اون فايل رو فك كنم در جايي include كنه

sargardoon
شنبه 03 اردیبهشت 1390, 11:19 صبح
دستورات رو در فايل ي بنويس و اون فايل رو در جايي كه بيشتر load ميشه مثلا index.php برو include‌ كن و بر اساس شرطي كه نوشتي ميتوني اون دستورات رو انجام بدي
ولي واقعا روش به صرفه اي ني، نميدونم چزا نميخواي از cronjob سرور استفاده كني
البته خود wp هم اون فايل رو فك كنم در جايي include كنه

ممنونم از پاسختون،
دلیل اینکه من نمیخوام از cron job سرور استفاده کنیم به این علته که میخوام این روش را هم یاد بگیرم، شاید یه وقت پیش بیاد و نیاز باشه بدون دسترسی به کنترل پنل اینکار را انجام بدم،
روشی که شما پیشنهاد دادی هم کاربرد داره در صورتی که مقدار زمان بندی و بارگذاری متناسب باشه برای مثال اگر مقدار زمان را ساعتی یه بار گذاشتی حداقل باید در ساعت یه بار لود بشه، این روش یعنی روشی مثل دستی کار کردن، مثل اینکه اون صفحه رو خودت دستی اجراش کنی و این زیاد جالب نیست،

در مورد افزونه وردپرس اطلاع خاصی ندارم که به چه اساسی کار میکنه ولی من اون فایل را نصب که میکنم بعد از تنظیم خودش اجرا میشه و تا جایی که من اطلاع دارم جایی include نمیشه.

UnnamE
شنبه 03 اردیبهشت 1390, 11:22 صبح
شايد include نكنن، مثلا در موقعي اجراش كنن، روش ديگه اي فك نكنم باشه!

sargardoon
شنبه 03 اردیبهشت 1390, 11:29 صبح
شايد include نكنن، مثلا در موقعي اجراش كنن، روش ديگه اي فك نكنم باشه!

میشه به این سایت زیر سری بزنید
http://www.htmlcenter.com/blog/running-php-scripts-with-cron/

روشی توضیح داده من درست متوجه نشدم برام گنگ بود، شاید شما بدونید چه گفته.

UnnamE
شنبه 03 اردیبهشت 1390, 11:38 صبح
title خود مقاله هم گفته اجراي script هاي php بوسيله Cron
يعني اول راه حل هاي دستي رو اعلام كرده و فلان كه مثلا بريم فايل رو include كنيم تو Index.php كه باعث Overlload در زمان traffic ميشه
تهش اومده راه حل درست رو گفته كه استفاده از cron هست
ديدي كه در مقاله فرض بر اين بود كه به shell‌ دسترسي داشته باشي، كه خود cpanel ميتوني اين كار رو انجام بدي بدون shell

sargardoon
شنبه 03 اردیبهشت 1390, 11:46 صبح
title خود مقاله هم گفته اجراي script هاي php بوسيله Cron
يعني اول راه حل هاي دستي رو اعلام كرده و فلان كه مثلا بريم فايل رو include كنيم تو Index.php كه باعث Overlload در زمان traffic ميشه
تهش اومده راه حل درست رو گفته كه استفاده از cron هست
ديدي كه در مقاله فرض بر اين بود كه به shell‌ دسترسي داشته باشي، كه خود cpanel ميتوني اين كار رو انجام بدي بدون shell

روش اول را متوجه شده بودم اما روش دوم که توضیح داده بود برام گنگ بود متوجه نشدم، مثلا نوشته

Compiled CGI

If the answer to the question above is “CGI” then you need to add a line to your PHP script. It has to be the first line of your script and must contain your server’s PHP executable location:

#!/usr/local/bin/php -q
That looks a lot like PERL now, doesn’t it? After that let’s add the necessary command to our crontab. Edit /etc/crontab and add the following line:

* * * * * php /path/to/your/cron.php
Execute the following from the command line:

Shell> crontab crontab
Be sure your “script.php” has the necessary permissions to be executable (“chmod 755 script.php”).

Now you are all set!

برای من CGI هستش. حالا فعلا ما گیر دادیم به این روش میگردیم و تحقیق میکنیم تا به نتیجه برسیم.
از اینکه زحمت کشیدی و وقت گذاشتید و جواب سوالاتم را دادید متشکرم.

sargardoon
شنبه 03 اردیبهشت 1390, 15:36 عصر
یکی دیگر از دلایلی که دوست ندارم از cron job سرور استفاده کنم اینه که برای مثال شما امکاناتی به کاربر داده اید که خودش زمان بک آپ بگیری را مشخص کنه ولی این کاربر اجازه ورود به صفحه کنترل پنل سایت را نداره در این حالت چظور شما میتوانید برنامه را در زمان انتخاب کاربر اجرا کنید؟