Navigacija

Vartotojų tinkle

Prisijungusių svečių: 780
Prisijungusių narių: 0
Prisijungusių narių nėra

Registruoti nariai: 25,956
Naujausias narys: saulyzas

Naujausi straipsniai

Paskutiniai nariai

saulyzas 4 dienos
MaFetas 1 savaitė
TOMIJUS 1 savaitė
ozzWANTED 2 savaitės
Reikalas10 savaitės
Jaunelis17 savaitės
lanis17 savaitės
And2s18 savaitės
Memento Mori23 savaitės
Quwqkibor25 savaitės
asirija29 savaitės
tomeem31 savaitės
weberiz34 savaitės
mRokass37 savaitės
kartoonas38 savaitės
grunskiz41 savaitės
Bruksnys41 savaitės
illusion41 savaitės
ordo42 savaitės
Jurgaila43 savaitės

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 3.149.243.86
Naujienų: 529
Straipsnių: 235
Temų: 52,588
Postų: 522,537
Postų pask. parą: 0
Shout'ų pask. parą: 0
P.S.C. pask. parą: 0
Nuorodų kataloge: 13

Lankomumo Statistika

Peržiūrų šiandien: 22

Iš viso peržiūrų: 22948724

Prisijungti

REGISTRUOTIS
Nario vardas

Slaptažodis



Pamiršai slaptažodį?
Paprašyk naujo

Aktyvuoti save

Šaukykla

Jei norite rašyti žinutes, turite prisijungti.

MaFetas
2024 Lap. 13 22:11:57
hey how, geras dar veikiantis saitas?

Jaunelis
2024 Lie. 25 11:07:43
Oho vis dar veikia svetainė akinanti šypsen Šimtas metų, matau Šaukykloje nuostalgija. Smagu panaršyt po forumą ir pažiūrėt senas temas šypsosi

And2s
2024 Lie. 17 19:07:04
2008 pirmą kart čia patekau, man buvo 10m ir čia pramokau programavimo.. smagu skaityti senas žinutes, tokia nostalgija akinanti šypsen ačiū Ozz kad saugoji šitą kultūrinį reliktą šypsosi

ozzWANTED
2024 Sau. 17 01:01:00
Desperatiškus komentarus šaukykloje su accountu po mėnesio prasibuvimo, ištryniau. Pasaulis ir taip juodas. Įjungiam šviesą, prašviesės. šypsosi

Majakas
2023 Gru. 10 19:12:39
Negaliu patikėti jog žinutės/pranešimai visi yra nuo 2008 m akinanti šypsen

Šaukyklos archyvas

Apklausa

Ar esate patenkinti lietuviško vertimo kokybe?

Taip!

Taip, bet yra ką taisyti (parašysiu komentaruose)

Ne

Norėdamas balsuoti turite prisijungti.
Archyvas
Reklama 400x60
(Pažengusiems) Php Cronjob'ai
Dažnai reikia kažkokias operacijas automatizuoti, ir nebūtinai tai reikia daryti 'user-online' pagrindu.
T.y., nemažai programuotojų realizuoja šį dalyką, kaskart kraunant saitą, tikrinti laiką, ir jeigu tai spec. laikas ir dar nebuvo įvykdytas cronjob'as, tuomet įvykdo php skriptą.

Tačiau yra ir kitas sprendimas - tikrieji cronjob'ai.

Tikrieji cronjob'ai uždedami per SSH VPS serveriams, arba per Direct Admin, jeigu turite Cronjob galimybę.

1 aspektas - Php lokacija:
CentOS4,5 serveryje ji tikėtina kad bus:
/usr/local/bin/php

Kituose serveriuose ji gali būti ir tokia:
/usr/local/bin/php

Tikslų kelią galite sužinoti įsikėlę į savo serverį phpinfo.php failą, arba per pridėtinius puslapius įvykdę:
<?php echo phpinfo() ?>
Bei pažiūrėję prie eilutės:
open_basedir : <kažkas>:<kažkas>:/usr/local/lib/php/

Tai ir bus pilnas kelias serveryje iki Php direktorijos.

2 aspektas - kelias iki Jūsų failo (PATH/TO/FILE):
Tai turi būti pilnas kelias, pateikame

3 aspektas - įvykdomo failo CHMOD:
Turite būti tikri kad failas turės EXECUTE priegą, t.y. CHMOD 755 ar panašus.

Taigi, prisijungę prie DA, ir atsidarę savo domenui CRONJOBS, matote tokius laukelius:
Minute  [_____] 0-59
Hour  [_____] 0-23
Day of Month  [_____] 1-31
Month  [_____] 1-12
Day of Week  [_____] 0-7 (0 or 7 = Sunday)
Command  [___________________]
Į auksčiau esančius laukelius galite įvesti:
"*", t.y. operacija bus vykdoma kiekvieną ciklą.
skaičių, t.y. operaciją bus vykdomą tik esant tam tikram laiko vienetą, parašyta

Na o pati komanda atrodytų taip:
 /usr/local/bin/php -q /home/DA_LOGIN/domains/DOMENAS.LT/public_html/cronjob.first.php

Paveikslėlis:
kaip sukurti cronjob pvz

Jeigu dar patys ir redaguojate CronTab'ą, t.y. /etc/crontab serverio failą, tai komanda būtų tokia:

  /usr/local/bin/php
-q /home/DA_LOGIN/domains/DOMENAS.LT/public_html/cronjob.first.php

(skriptas bus vykdomas kasdien 5:55 val ryto).

Alternatyva, jeigu Jūsų php buvo instaliuotas naudojant "Apache" modulį, būtų naudoti "Lynx browser" naršyklė. Tai minimali, tekstinė naršyklė UNIX/Linux sistemose. Tokiu atveju Cronjob'as per DA atrodytų taip:

lynx -dump http://www.somedomain.com/cron.php
Jeigu dar patys ir redaguojate CronTab'ą, t.y. /etc/crontab serverio failą:
55 5 * * * lynx -dump http://www.somedomain.com/cron.php
(skriptas bus vykdomas kasdien 5:55 val ryto).

----------
Kita alternatyva, yra kviesti visą tai per php failą pasinaudojus atsitiktiniu lankytoju, kuris tą skriptą, to nežinodamas, paleis. Šią galimybę realizuoja ir Php-Fusion nuo v7.01 versijos (vartotojų automatizuotas banų nuėmimas ir pan.)

<?php

/* @description - Simple class for managing cronjobs, possible further extensions
* @author - ozzWANTED
* @date - 2010-10
* @version - 1.0
*/

class CronManager {

// Simple cron by ozzWANTED @ 2010-10
public static function do_cronjob($path_to_file, $minute="*", $hour="*",$day="*", $month="*", $day_of_week="*")
{
$pass = true;
// Mins
if(is_array($minute) && !in_array(date("i"),$minute))) $pass = false;
else if($minute != date("i") && $minute != "*") $pass = false;
// Mins with leading zero, ex. 00-59

// Hours
if(is_array($hour) && !in_array(date("H"),$hour))) $pass = false;
else if($hour != date("H") && $hour != "*") $pass = false; // Hours with leading zero, ex. 00-23

// Days
if(is_array($day) && !in_array(date("d"),$day))) $pass = false;
else if($day != date("d") && $day != "*") $pass = false; // Days with leading zero, ex. 01-31

// Months
if(is_array($month) && !in_array(date("m"),$month))) $pass = false;
else if($month != date("m") && $month != "*") $pass = false;
// Months with leading zero, ex. 01-12

// Weekday's
if(is_array($day_of_week) && !in_array(date("N"),$day_of_week))) $pass = false;

else if($day_of_week != date("N") && $day_of_week != "*") $pass = false; // Days of Week, Php 5.1.0+, ex. 1-7

// if passed, do cronjob
if($pass)
{
   include($path_to_file);

   return true;
} else
{
   return false;
}

}

}

$crons = array(
   0 => array("cron1.php", "55","05","*", "*", array("1", "3", "5"))
);

// FOR DUMB's and NOOBS - do cronjob
CronManager::do_cronjob($crons[0]);

// FOR ADVANCED users
$cron = 0; $period = 24*60*60;
if(dbrows(dbquery("SELECT last_cron FROM ".DB_CRONJOB." WHERE cron_id='$cron' AND last_cron<(UNIX_TIMESTAMP()-$period)"))) {
   CronManager::do_cronjob($crons[0]);
   dbquery("UPDATE ".DB_CRONJOB." SET last_cron=UNIX_TIMESTAMP() WHERE cron_id='$cron'");
}
?>

Kodas taip pat įkeltas ir čia:
https://webdnd.com/php-cronjobai,k574



2010 (C) ozzWANTED @ PhpFusion-LT.com


Straipsnio informacija

Autorius
ozzWANTED
Parašymo data
2010 spalio 31 18:10:13
Komentarų
7
Skaityta
5585
Straipsnio sudėtingumas
(Pažengusiems)
Spausdinti Spausdinti
Komentarai
ozzWANTED 2010 spalio 31 18:10:19
Galvojau parašyti vos kelių eilučių kodą, o gavosi kone 100 akinanti šypsen
nbanba 2010 spalio 31 18:10:13
Super dalykėlis tie cronjobai. Naudoju backupams šypsosi
Langas 2010 spalio 31 20:10:30
Kur galima išmokti kurti cronjobų failus, ta prasme tarkim jeigu kurčiau krepšinio menedžerį ar pnš
ewl 2010 lapkričio 1 11:11:11
Ka reiškia cronjobas? Nu čia supratau hostingo kurėjams pamoka, ar ne ?
Kižas 2010 lapkričio 1 12:11:56
CronJob-Tai automatinis PHP skripto paleidimas tavo nurodytu laiku. Pvz tau reikia ,kad kas dien kokią trečią valandą nakties tau padarytu tavo svetainės atsarginę kopiją.
ewl 2010 lapkričio 1 13:11:58
aišku. šypsosi
Rašyti komentarą
Prisijunkite, norėdami parašyti komentarą.
Reitingai
Balsuoti gali tik nariai.

Prašome prisijungti arba prisiregistruoti.

Nuostabu! Nuostabu! 0% [Nėra balsų]
Labai gerai Labai gerai 100% [1 Balsas]
Gerai Gerai 0% [Nėra balsų]
Patenkinamai Patenkinamai 0% [Nėra balsų]
Blogai Blogai 0% [Nėra balsų]