چنانچه مقاله "اضافه کردن cron job در سیستم عامل لینوکس/یونیکس" ما را مطالعه کرده باشید، می‌دانید که Cron Jobها در سیستم‌های لینوکسی، وظیفه‌ی اجرای عملیات‌های خاص در زمانبندی خاص را به صورت کاملاً اوتوماتیک به عهده دارد. با استفاده از cron jobها می‌توانید عملیات‌های تکراری خود را در سیستم، به سادگی و بدون دخالت به‌صورت کاملاً اوتوماتیک زمانبندی و اجرا نمایید.

 

cron job می‌تواند حتی به‌منظور اجرای اتوماتیک و زمانبندی شده‌ی یک فایل PHP؛ به‌عنوان‌مثال، برای ارسال ایمیل به کاربران در زمان مشخص؛ مثلاً هر روز ساعت ۹ صبح و یا گرفتن نسخه پشتیبان از پایگاه داده، اجرای عملیات پاکسازی، تهیه گزارش آنالیز هفتگی و .. استفاده شود.

در این مقاله، نحوه اجرای فایل php با استفاده از cron job آموزش داده می‌شود. برای این کار روش‌های مختلفی وجود دارد. در ادامه، چهار روش شرح داده شده است.

 

پیدا کردن مکان php

برای پیدا کردن محل php، از دستور زیر استفاده کنید.

root@server10001 [~]# find / -name "php"
/usr/local/bin/php

در بیشتر سرورها، php در محل پیش فرض یعنی "usr/local/bin/php/" نصب شده است.

 

1) اجرای فایل php با استفاده از cron jobها

فرض کنید یک فایل php مربوط به ارسال ایمیل در ساعت 1 داریم. برای اجرای اتوماتیک این فایل می‌توان از دستور زیر استفاده کرد.

root@server10001 [~]# crontab -e
  GNU nano 2.0.9                                        File: /tmp/crontab.sC5jee


0 13 * * * /usr/local/bin/php /home/2daygeekc/public_html/cron/newsletter/index.php

 

2) اجرای فایل php با دستور lynx با استفاده از cron job

فرض کنید یک اسکریپت ایمیل php در مسیر زیر داریم که در ساعت 2 اجرا می‌کنیم. lynx مرورگر مبتنی بر متن در خط فرمان لینوکس است. با وارد کردن دستور زیر، هنگامی‌که ساعت 2 فرا رسد، cron job اجرا شده و آدرس اینترنتی با استفاده از دستور lynx باز می‌شود؛ سپس مطابق با آن، عملیات را انجام می‌دهد. در پایان، خروجی در قالب استاندارد با استفاده از دستور dump- ذخیره می‌شود.

root@server10001 [~]# crontab -e
  GNU nano 2.0.9                                        File: /tmp/crontab.sC5jee


0 13 * * * /usr/local/bin/php /home/2daygeekc/public_html/cron/newsletter/index.php
0 14 * * * lynx -dump https://www.2daygeek.com/cron/test/Index.php

 

3) اجرای فایل php با دستور curl با استفاده از cron jobها

فرض کنید یک اسکریپت ایمیل php در مسیر زیر داریم که ساعت 3 اجرا می‌شود. با وارد کردن دستور زیر، هنگامی‌که ساعت 3 فرا رسد؛ cron job اجرا شده و آدرس اینترنتی با دستور curl فراخوانی می‌شود؛ سپس مطابق با آن، عملیات را انجام می‌دهد. در پایان، خروجی در فایل  output.txt ذخیره می‌شود.

root@server10001 [~]# crontab -e
  GNU nano 2.0.9                                        File: /tmp/crontab.sC5jee


0 13 * * * /usr/local/bin/php /home/2daygeekc/public_html/cron/newsletter/index.php
0 14 * * * lynx -dump https://www.2daygeek.com/cron/test/Index.php  
0 15 * * * /usr/bin/curl -o output.txt https://www.2daygeek.com/cron/test/Index.php

 

4) اجرای فایل php با دستور wget با استفاده از cron jobها

فرض کنید یک اسکریپت ایمیل php در مسیر زیر داریم که ساعت 4 باید اجرا شود. هنگامی‌که ساعت 4 فرا رسئ؛ cron job اجرا شده و آدرس اینترنتی توسط دستور wget فراخوانی می‌شود؛ سپس مطابق با آن، عملیات را انجام می‌دهد. در پایان، خروجی در فایل output.txt ذخیره می‌شود.

root@server10001 [~]# crontab -e
  GNU nano 2.0.9                                        File: /tmp/crontab.sC5jee

  
0 13 * * * /usr/local/bin/php /home/2daygeekc/public_html/cron/newsletter/index.php
0 14 * * * lynx -dump https://www.2daygeek.com/cron/test/Index.php  
0 15 * * * /usr/bin/curl -o output.txt https://www.2daygeek.com/cron/test/Index.php
0 16 * * * /usr/bin/wget -q -O output.txt https://www.2daygeek.com/cron/test/Index.php

 

 

منبع:

2daygeek