Правильно ли я сделал скрипт?

 

 Здравствуйте,

 

Подскажите, если возможно. Я хочу запустить скрипт на виртуальном сервере, чтобы знать, когда он перегружается (я не получу письма в этом случае).

 Такой вариант будет работать?  

int OnInit()
   {
   return(INIT_SUCCEEDED);
   }

   void OnDeinit(const int reason)
   {   
   }

void OnTick()
  {

if(TimeHour(TimeCurrent()) == 17 && TimeMinute(TimeCurrent()) == 0)
         {
         SendMail("a terminal is on", "OK at 17:00");
         }
   
  }
 
alexeymosc:

 Здравствуйте,

 

Подскажите, если возможно. Я хочу запустить скрипт на виртуальном сервере, чтобы знать, когда он перегружается (я не получу письма в этом случае).

 Такой вариант будет работать?  

 

Будет работать через раз, т. к. тик в 17:00 может не прийти. Сделайте через таймер:

int OnInit()
{
   EventSetTimer(86400);
   return(INIT_SUCCEEDED);
}

void OnTimer()
{
   SendMail("a terminal is on", "OK at ", TimeToString(TimeLocal()));
}

86400 - это вызов таймера один раз в сутки. Правда, письмо будет приходить только через сутки после первого запуска, а не конкретно в 17:00.

 

Понял. Спасибо. Ругается компилятор. Внтури sendmail два разделенных запятой аргумента должно быть.

 Если так? Хотя так он выведет всю строку как есть.

SendMail("a terminal is on", "OK at TimeToString(TimeLocal())");

 Сделал так:

 

SendMail("a terminal is on", TimeToString(TimeLocal()));
 
alexeymosc:

Понял. Спасибо. Ругается компилятор. Внтури sendmail два разделенных запятой аргумента должно быть.

 Если так? Хотя так он выведет всю строку как есть.

 Сделал так:

 

 

Да, там вместо запятой нужно плюсик поставить:

int OnInit()
{
   EventSetTimer(86400);
   return(INIT_SUCCEEDED);
}

void OnTimer()
{
   SendMail("a terminal is on", "OK at " + TimeToString(TimeLocal()));
}