1. #!/usr/bin/php -q
  2. <?php
  3. #
  4. # Program : check_esx_date.php
  5. # :
  6. # Author : Karim vaes <kvaes@vangenechten.com>
  7. # :
  8. # Purpose : Check the date difference
  9. # :
  10. # Notes : No Support Given
  11. #============:==============================================================
  12. # 1.0 : 20/10/2006
  13. # : Initial coding
  14. //PARAMS
  15. $ARG1 = $argv[1];
  16. $ARG2 = $argv[2];
  17. $ARG3 = $argv[3];
  18.  
  19. //DEFAULTS
  20. if ($ARG2 == "") { $ARG2 = "60";}
  21. if ($ARG3 == "") { $ARG3 = "120";}
  22.  
  23. //FUNCTIONS
  24. function vol($ARG1,$ARG2,$ARG3,$string) {
  25. $COMMAND="/usr/bin/ssh -x -l root $ARG1 ls -la /bin";
  26. exec($COMMAND,$OUTPUTNULL,$ERROR);
  27. if ($ERROR <> 0) { echo "WARN - Permission Error - check authorized_keys"; exit(1);}
  28. $COMMAND="/usr/bin/ssh -x -l root $ARG1 date +%s";
  29. exec($COMMAND,$OUTPUT);
  30. $ESX=$OUTPUT[0];
  31. $OUTPUT="";
  32. $COMMAND="date +%s";
  33. exec($COMMAND,$OUTPUT);
  34. $LOCAL=$OUTPUT[0];
  35. $DIFF=$LOCAL-$ESX;
  36. $DIFF=abs($DIFF);
  37.  
  38. switch (TRUE) {
  39. case ($DIFF >= $ARG3):
  40. echo "CRITICAL - offset($DIFF)";
  41. exit(2);
  42. break;
  43. case ($DIFF >= $ARG2):
  44. echo "WARNING - offset($DIFF)";
  45. exit(1);
  46. default:
  47. echo "OK - offset($DIFF)";
  48. exit(0);
  49. }
  50. exit(0);
  51. }
  52. function help() {
  53. echo "check_esx_date.php %SERVER : date difference check\n";
  54. echo "check_esx_date.php HELP : this text\n";
  55. exit(2);
  56. }
  57.  
  58. //MAIN
  59. switch (TRUE) {
  60. case ($ARG1 <> ""):
  61. vol($ARG1,$ARG2,$ARG3,$string);
  62. break;
  63. default:
  64. help();
  65. }
  66. ?>
  67.