CRON nie wykonuje skryptu

0

Witam serdecznie chciałem sobie dzisiaj nauczyć się poćwiczyć obsługę CRON'a z wykonywaniem czasowym skryptu. Ale cosik mi nie wychodzi...

Więc napisałem sobie skrypt który pobiera datę i godzinę i zapisuje ja do bazy:

     <?php
     
    $czas = date("Y-m-d H:i:s");
     
    $db = new mysqli('localhost', 'login', 'haslo', 'czas');
    $db -> query("SET CHARSET utf8");
    $db -> query("SET NAMES 'UTF-8' COLLATE 'utf8_polish_ci'");
     
     
    $zapytanie = "INSERT INTO `czas`.`dane` (`ID`, `czas`) VALUES (NULL, '".$czas.");";
    $wynik = $db->query($zapytanie);
     
     
    print ("OK");
     
    ?>

Zapisuje plik o nazwie test.php wrzucam do swojego katalogu public_html przez ftp...

Jak odpalam w przeglądarce wszystko jest oki łądnie zapisuje do bazy a jak próbuję użyć cron nic nie robi... znaczy odpala skrypt bo widać to w logach cron'a ale nie zapisuje do bazy...

Wykorzystałem do tego darmowy serwis: serversfree.com i tam ustawiam sobie że ma wykonywać co minutę wszystko ładnie zapisało...

1 * * * * php -f /home/user_unikalny/test.php
Czekam już 24h i lipa... ani jednego wpisu...

dodanie znacznika <code> - Furious Programming

0

crona najlepiej wywołać tak jak normalna przeglądarka - nie ma problemu ze ścieżkami (inne będą dla skryptu wykonanego przez interpreter bezpośrednio, inne wywołane przez http) i wielu innych (które zapewne Ciebie z jakiegoś powodu dopadło).

tak więc wywołaj to z wget/lynx

a jak nie to w pliku php nie dodawaj czasu do bazy (bo już na bazie się może wywalić skrypt), tylko dopisuj czas do pliku tekstowego (ważne to zdefiniować jego ścieżkę odpowiednio, żebyś go odnalazł potem, a nie że "się nie zapisuje" :P). sprawdzić też można error logi php

0

Dzięki @dzek69... odpaliłem to za pomocą lynx'a tylko mam pytanie co oznacza parametr -dump przy lynx

Bo czy ja wrzucę:
*/5 * * * * lynx -dump http://localhost/test/test.php > /dev/null 2>&1
czy
*/5 * * * * lynx http://localhost/test/test.php > /dev/null 2>&1
albo
*/5 * * * * lynx http://localhost/test/test.php
To działa idealnie... próbowałem to odpalić w terminalu u siebie na virtualu w ten sposób dla testów i tylko co zauważyłem to jak daję -dump to w terminalu nie pokazuje żadnego komunikatu... > /dev/null 2>&1 nie wiem też za bardzo czego się tyczy gdzie ma przekazywać wynik ewentualny??

1 użytkowników online, w tym zalogowanych: 0, gości: 1