Планирани задачи - Cron Jobs
Сега ще разгледаме няколко варианта , с който можете да постигнете този ефект.
1) Доста потребители през целият ден.
Ако сайтат ви е доста голям, и през цялото време на деня и ноща има хора който да цъкат в него, можете да разчитате и на тях.Но това не е много удачен начин.
Пример с код :
Тук сложете кода на сайта ви.

include("./crontab.php");
?>

Eтова ви е примерен код.
В crontab.php можете да имате примерен код :

<?php
$date = date("G:i"); // сегашната стойност на дата
$datemin = "23:58"; // минимна стойност на дата
$datemax ="24:00"; // максималната стойност на дата
/* защо имаме минимум и максимум ?
Предполагаме че за тези две минути поне 1 човек ще направи импресия на сайта ви. И crontab ще се изпълни.
*/
if($date >= $datemin && $date <= $datemax) {
$exe = "./".date("d")."filename.php";
include($exe);
}
?>

XX_filename.php =>>

<?php
$sql = " DELETE FROM .... " ;
$query = mysql_query($sql);
if($query === TRUE){
$new_exe = date("d")+1;
$rename = rename($exe, $new_exe."filename.php");
if($rename === FALSE) { /* тука кода който ви праща на майла или записва в фаил или база данни , че опрерацията е не успешна */ }
}
?>

Защо този пример за планирана задача е НЕ УДАЧЕН ? Защото трябва да се разчита 100 % на някой да даде рефреш на страницата ви.А може да се случи да нямате по това време човек.И какво става ? Еми горите.
Затова по-удачно е :

2) CronTAB- >
http://en.wikipedia.org/wiki/Crontab Оригинал.
Искам да урочня , че CRONTAB го има само за линукс !!!!!!!

# .---------------- минути (0 - 59)
# | .------------- часове (0 - 23)
# | | .---------- ден от месеца (1 - 31)
# | | | .------- месец (1 - 12)
# | | | | .---- Ден от седмицата (0 - 6) (Неделя=0 или 7)
# | | | | |
# * * * * * команда която искате да изпълните.

Первиксове на програмта :
-e (редакция)
-l (показва задачите)
-r (изтрива задачите)
-i (ред преди истраиването)

В шела на линукс трябва да сте с привилегийте на Root потребителя за да можете да работите с програмта.
затова пишете sudo crontab -e
отваря се nano едитора и в него пишете примерно :
0 1 * * * /home/server/pisio_crons/dumb_mysql.sh

CTRL + X >> Y , ENTER
Това е , вече ще изпълни линка към който сте дали прогрмата.
Пример за dump_mysql.sh >>>

#!/bin/bash
/usr/local/bin/mysqldump -h localhost -u user_name_na_db -p Parolata_na_db_to\
--all-databases > ` /home/server/pisio_crons/ date +backup-%d-%m-%y_%H.sql`


До тук добре, но това е ако сте на собствен хостинг и имате достап до шела.
Но ако сте на платен хостинг който предлага cronjob , товага влезте в cpanel , утидете на Cron задачи ,
и изберете Стандартно >>>
http://web-tourist.net/project/index/cron_tab_standart.png
Или изберете Unix вид :>>>> http://web-tourist.net/project/index/cron_tab_unix_vid.png

Това е ако също сървара е на линукс.
Обаче има хора който пък са на Windows (XP)
И там е малко по-сложно.Поне за мене , понеже няма как да го демонстрирам.....
Да приемем ,че трябва да дъмпим дадена база данни под Windows XP.
Направете в C:/ текстов файл с име : dump_mysql.bat
В него напишете :/* нямам представа дали работи този дос скрипт, но го взех от гуги.
@echo off
mysqldump --user user --password=password db >C:\dum.sql

Или ако искате да изпълнявате даден PHP скрипт:
C:/putq_do/servera/php/php.exe C:/nqkakuv_si_php_script.php


След като вече сме създали нещата който искаме да се изпълняват, е време да направим да се изпълняват.
Влезте в : Start > Programs > Accessories > System Tools > Scheduled Tasks
Двоен клик на : > Add Scheduled Task , NEXT
Посочете пътя до къде е файла ( dump_mysql.bat или php_dump_mysql.bat.... ).Нагласете кога да се стартира и сте говоти.



Ем това е , мерси за четенето, ако има неточности в урока , моля пишете на ЛС или в форума.Не чета коментарите на уроците си. Пак казвам , има много варианти това да стане , посочил съм най-елементарните.
Урока е авторски и се забранява неговото копиране в чужди сайтове......



/ Трябва да сте регистриран за да напишете коментар /