Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: chmod: cannot access `/home/ventrilo/8006/ventrilo_srv.pid': No such file or directory
Forum PHP.pl > Forum > Serwery WWW
rolexio
Zainstalowalem sobie panel ventrilo ( od marczaka wszytko ladnie poszlo ) Tylko mam 1 blad i nie wiem o co w nim chodzi znaczy sie o jakie chmody ( gdzie je dodac ) .pid to chyba numer do killowania procesow ale jak to dziala to nie wiem jakieś sugestie ?

Blad:
  1. From root@xxx.localdomain Sat Mar 3 10:37:05 2012
  2. Return-Path: <root@xxx.localdomain>
  3. X-Original-To: root
  4. Delivered-To: root@xxx.localdomain
  5. Received: by xxx.localdomain (Postfix, from userid 0)
  6. id 5D4252D668E9; Sat, 3 Mar 2012 10:37:05 +0000 (UTC)
  7. From: root@xxx.localdomain (Cron Daemon)
  8. To: root@xxx.localdomain
  9. Subject: Cron <root@bustedga> /var/www/panel/files/sprawdz.sh
  10. Content-Type: text/plain; charset=ANSI_X3.4-1968
  11. X-Cron-Env: <SHELL=/bin/sh>
  12. X-Cron-Env: <HOME=/root>
  13. X-Cron-Env: <PATH=/usr/bin:/bin>
  14. X-Cron-Env: <LOGNAME=root>
  15. Message-Id: <20120303103705.5D4252D668E9@xxx.localdomain>
  16. Date: Sat, 3 Mar 2012 10:37:03 +0000 (UTC)
  17.  
  18. chmod: cannot access `/home/ventrilo/8006/ventrilo_srv.pid': No such file or directory
  19. chmod: cannot access `/home/ventrilo/8050/ventrilo_srv.pid': No such file or directory




"No such file or directory" Katalogi istnieją razem z plikami ventrilo jednak tego .pid nie ma w folderach ani w necie ( google ) wiec to jakis plik tymczasowy musi być generowany przez aplikacje ventrilo ... Tak mi sie wydaje jednak ten proceses jest bardzo wazny bo przez to mi caly palel nie działa ( Znaczy dzila i panel ale nie odpala serwerów ) ... a wiem, że działał bo już kiedyś dawno temu go instalowałem nie ukryje że z pomocą kolegi ale tym razem zgubiłem do niego kontakt i musze polegać na sobie, i na dobrych ludziach z forum wink.gif
Plik sprawdz.php wydaje byc się poprawny:
  1. <?php
  2. include('/var/www/panel/config.php');
  3. function date_diff($date1, $date2)
  4. {
  5.  
  6. $d1 = explode("-", $date1);
  7. $y1 = $d1[0];
  8. $m1 = $d1[1];
  9. $d1 = $d1[2];
  10.  
  11. $d2 = explode("-", $date2);
  12. $y2 = $d2[0];
  13. $m2 = $d2[1];
  14. $d2 = $d2[2];
  15.  
  16. $date1_set = mktime(0,0,0, $m1, $d1, $y1);
  17. $date2_set = mktime(0,0,0, $m2, $d2, $y2);
  18.  
  19. return(round(($date2_set-$date1_set)/(60*60*24)));
  20. }
  21. $sql = "select `port`,`data` from `vt_users`";
  22. $zapytanie = mysql_query($sql);
  23. while($row = mysql_fetch_array($zapytanie)){
  24. $data=date_diff(date("Y-m-d"), $row['data']);
  25. if(!eregi($row['port'],@file_get_contents('/tmp/ventrilo_stop')) and ($data<0 or $data==0) and file_exists('/home/ventrilo/'.$row['port'].'/ventrilo_srv.pid')){
  26. $pid = @file_get_contents('/home/ventrilo/'.$row['port'].'/ventrilo_srv.pid');
  27. $f = fopen('/tmp/ventrilo_stop','a');
  28. fwrite($f, $pid.';'.$row['port']."\n");
  29. fclose($f);
  30. echo $row['port'].'<br/>';
  31. }
  32. }
  33. ?>


Do tego plik.sh
Tez wydaje sie być poprawny:


  1. #!/bin/bash
  2. # zatrzymywanie serwerow
  3. if [ -e "/tmp/ventrilo_stop" ]
  4. then
  5. cp /tmp/ventrilo_stop /tmp/ventrilo_stop_b
  6. echo " ">/tmp/ventrilo_stop
  7.  
  8. for x in $(cat /tmp/ventrilo_stop_b)
  9. do
  10. if [ -n "$x" ]
  11. then
  12. echo $x
  13. b=${x#*;}
  14. a=${x%;*}
  15.  
  16. kill -9 "$a"
  17. rm "/home/ventrilo/$b/ventrilo_srv.pid"
  18. fi
  19. done
  20. rm /tmp/ventrilo_stop_b
  21. fi
  22.  
  23.  
  24. # uruchamianie serwerow
  25. if [ -e "/tmp/ventrilo_start" ]
  26. then
  27. cp /tmp/ventrilo_start /tmp/ventrilo_start_b
  28. echo " ">/tmp/ventrilo_start
  29. for x in $(cat /tmp/ventrilo_start_b)
  30. do
  31. if [ -n "$x" ]
  32. then
  33. /home/ventrilo/$x/ventrilo_srv -f/home/ventrilo/$x/ventrilo_srv >/dev/null &
  34. chmod 777 "/home/ventrilo/$x/ventrilo_srv.pid"
  35.  
  36. fi
  37. done
  38. rm /tmp/ventrilo_start_b
  39. fi
camikazee
Pliki pid tworzą się podczas uruchamiania serwera. Ich zawartością jest numer ID procesu, pod którym uruchomił się serwer. Plik PID może nie powstać gdy katalog, w którym powinien się utworzyć nie ma praw zapisu dla użytkownika, który ten proces uruchamia. Sprawdź to.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.