✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Відображення часу безвідмовної роботи стану сервера на веб-сторінках за допомогою PHP і Crontab

9

Ми всі знаємо раніше, у цій публікації, що ми можемо використовувати shell_exec або exec у PHP, щоб отримати вихідні дані зовнішньої програми на сервері. Отже, очевидно, ми можемо запустити команду uptime linux, щоб отримати статус сервера, який дає щось на зразок цього (або якщо ви прокрутите цей блог униз, у кінці цієї сторінки ви знайдете оновлення статусу майже в реальному часі, тобто оновлюється кожні 5 хвилин):

 10:25:01 up 31 days, 15:17,  0 users,  load average: 0.01, 0.09, 0.12

Однак через ці причини не рекомендується безпосередньо викликати команду uptime за допомогою shell_exec або exec .
По- перше, shell_exec і exec можуть бути вимкнені (наскільки я знаю) веб-хостинговими компаніями, головним чином на спільних хостах з метою безпеки. Fasthosts вимикає це, але Godday, з іншого боку, не забороняє це використання. По-друге, виконання цих двох команд у режимі реального часу в PHP-скриптах вважається неефективним і забирає багато часу (CPU).

Правильний/рекомендований спосіб отримання такої інформації такий: спочатку створіть crontab, який запускається з певним інтервалом часу, наприклад, кожні 2 хвилини на сервері, використовуючи crontab -e, ви зможете редагувати завдання за допомогою свого улюбленого текстового редактора, наприклад як nano або vim.

Таким чином, кожні 2 хвилини (видаліть /2 для кожної хвилини) файл uptime.txt буде оновлюватися та поміщатися в загальнодоступну папку HTTP. Таким чином, ви можете використовувати наступний скрипт PHP для отримання таких даних.

Звучить досить просто, чи не так? Це дає вам відносно точний статус безвідмовної роботи, і ви можете розмістити цю інформацію у footer.php блогу wordpress (наприклад, прокрутіть до кінця сторінки).

Ви також можете використовувати змінну сервера DOCUMENT_ROOT, яка представляє кореневий каталог веб-сайту. Отже, переконайтеся, що файл uptime.txt розташований у кореневому каталозі веб-сайту.

$uptime = ''; $uptimefile = $_SERVER['DOCUMENT_ROOT']. '/uptime.txt'; if (is_file($uptimefile)) {     $uptime = @file_get_contents($uptimefile); }  

Джерело запису: helloacm.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі