Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt PHP wywoływany przez CRON działą niepoprawnie, Skrypt uruchomiony ręcznie działa ok, natomiast przez CRON juz nie
ravczy
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 18.05.2003

Ostrzeżenie: (0%)
-----


Mam skrypcik, który powinien być uruchamianu przez CRON.
Wszystko ładnie działa gdy uruchamiam go ręcznie, natomist gdy do pracy bierze się CRON, to wartość zwracana przez skrypt wynosi 0 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Na mój gust to przez funkcje exec, która uruchamia komende linux, która następnie zwraca żądaną wartość.

Skrypt pobiera wartość QUOTY użytkowników.

Skrypcik wyglada tak :
  1. <?php
  2. $query = "SELECT user, quota FROM $mysql_table ORDER BY user";
  3. $result = mysql_query ($query);
  4. while ($row = mysql_fetch_array($result)) {
  5. $konto = $row[user];
  6. $quota_lnx = exec("repquota -a | grep $konto");
  7. $quota_lnx = preg_split ("/s+/", $quota_lnx);
  8. $quota_l = ($quota_lnx[2] * 100) / $quota_lnx[4];
  9. $quota_l = round($quota_l,2);
  10.  
  11. $query2 = "UPDATE `qmpel_users` SET `quota_user`='$quota_l' where `url_user`='$konto'";
  12. $result2 = mysql_query ($query2);
  13. };
  14. ?>



Może ma ktoś pomysł na rozwiązanie tego problemu. Dodam tylko, że skrypt jest uruchamiany z corona jako root.
Go to the top of the page
+Quote Post
UDAT
post
Post #2





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

Ostrzeżenie: (0%)
-----


Prawdopodobnie zapomniałeś o nagłówku pliku i/lub chmodzie.


Sprawdź czy użytkownik pod którym chodzi CRON ma uprawnienia +x dla pliku, poza tym sprawdź czy masz na początku pliku:
Kod
#!/usr/bin/php
Go to the top of the page
+Quote Post
ravczy
post
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 18.05.2003

Ostrzeżenie: (0%)
-----


naglowek dodalem, skrypt uruchamia sie jako root.

Sprawa sie rozwiazala gdy dodalem katalog cron.10min i do niego wrzucilem skrypt, a w cronie zrobilem
0-59/10 * * * * root run-parts /etc/cron.10min.

Troche to dziwne dlaczego sie tak dzialo, ze gdy uruchamiam sam plik z corna to nie dziala jak powinno.
No coz najwazniejsze, ze działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
legorek
post
Post #4





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Popraw sobie jeszcze:

  1. <?php
  2. $konto = $row[user];
  3. ?>

na
  1. <?php
  2. $konto = $row['user'];
  3. ?>


Chyba, że wcześniej zdefiniowałeś stałą user
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 02:03