{"id":232318,"date":"2023-01-21T18:55:00","date_gmt":"2023-01-21T15:55:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232318"},"modified":"2022-11-10T08:41:57","modified_gmt":"2022-11-10T05:41:57","slug":"mostrar-el-tiempo-de-actividad-del-estado-del-servidor-en-paginas-web-usando-php-y-crontab","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/mostrar-el-tiempo-de-actividad-del-estado-del-servidor-en-paginas-web-usando-php-y-crontab\/","title":{"rendered":"Mostrar el tiempo de actividad del estado del servidor en p\u00e1ginas web usando PHP y Crontab"},"content":{"rendered":"\n<p>Todos sabemos, previamente, <a href=\"https:\/\/helloacm.com\/use-php-script-to-monitor-temperature-and-uptime-for-raspberry-pi-in-the-browser\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">en esta publicaci\u00f3n<\/a>, que podemos usar <strong>shell_exec<\/strong> o <strong>exec<\/strong> en PHP para obtener la salida de un programa externo en el servidor. Entonces, obviamente, podemos ejecutar el tiempo de <strong>actividad<\/strong> del comando Linux para obtener el estado del servidor, lo que da algo como esto (o si se desplaza hacia abajo en este blog, al final de esta p\u00e1gina, encontrar\u00e1 una actualizaci\u00f3n de estado casi en tiempo real, es decir, actualizado cada 5 minutos):<\/p>\n<pre><code>\u00a010:25:01 up 31 days, 15:17, \u00a00 users, \u00a0load average: 0.01, 0.09, 0.12<\/code><\/pre>\n<p>Sin embargo, no se recomienda invocar directamente el comando <strong>uptime<\/strong> mediante <strong>shell_exec<\/strong> o <strong>exec<\/strong><br \/>\npor estos motivos. En primer lugar, <strong>shell_exec<\/strong> y <strong>exec<\/strong> pueden estar deshabilitados (hasta donde yo s\u00e9) por las empresas de alojamiento web, principalmente en los hosts compartidos por motivos de seguridad. Fasthosts deshabilita esto, pero Godday, por otro lado, no proh\u00edbe este uso. En segundo lugar, se considera ineficiente y requiere mucho tiempo (CPU) para ejecutar estos dos comandos en tiempo real dentro de los scripts de PHP.<\/p>\n<p>La forma correcta\/recomendada de obtener dicha informaci\u00f3n es la siguiente: Primero, cree un <a href=\"https:\/\/helloacm.com\/crontab-generator\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">crontab<\/a> que se ejecute en un intervalo de tiempo, por ejemplo, cada 2 minutos en el servidor, usando <strong>crontab -e<\/strong> le permitir\u00e1 editar los trabajos usando su editor de texto favorito, como como <strong>nano<\/strong> o <strong>vim<\/strong>.<\/p>\n<pre><code>*\/2 * * * * \/usr\/bin\/uptime &gt; $HOME\/htdocs\/uptime.txt<\/code><\/pre>\n<p>Por lo tanto, cada 2 minutos (elimine \/2 por cada minuto), el archivo <strong>uptime.txt<\/strong> se actualizar\u00e1 y se colocar\u00e1 en la carpeta HTTP p\u00fablica. Entonces puede usar el siguiente script PHP para obtener dichos datos.<\/p>\n<pre><code>$uptime = file_get_contents('&lt;a class=\"vglnk\" target=\"_blank\" href=\"http:\/\/'.$_SERVER['SERVER_NAME'].'\/uptime.txt\" rel=\"nofollow\"&gt;&lt;span&gt;http&lt;\/span&gt;&lt;span&gt;:\/\/'.$_&lt;\/span&gt;&lt;span&gt;SERVER&lt;\/span&gt;&lt;span&gt;['&lt;\/span&gt;&lt;span&gt;SERVER&lt;\/span&gt;&lt;span&gt;_&lt;\/span&gt;&lt;span&gt;NAME&lt;\/span&gt;&lt;span&gt;'].'\/&lt;\/span&gt;&lt;span&gt;uptime&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;txt&lt;\/span&gt;&lt;\/a&gt;');\nif ($uptime) {\n\u00a0 echo $uptime;\n}<\/code><\/pre>\n<p>Suena bastante f\u00e1cil, \u00bfverdad? Esto le da un estado de tiempo de actividad relativamente preciso y puede poner esta informaci\u00f3n en el <strong>footer.php<\/strong> del blog de wordpress (despl\u00e1cese hacia abajo hasta el final de la p\u00e1gina, por ejemplo).<\/p>\n<p>Tambi\u00e9n puede usar la variable de servidor <strong>DOCUMENT_ROOT<\/strong> que representa el directorio ra\u00edz de un sitio web. Por lo tanto, aseg\u00farese de que <strong>uptime.txt<\/strong> est\u00e9 ubicado en el directorio ra\u00edz de un sitio web.<\/p>\n<pre><code>$uptime = '';\n$uptimefile = $_SERVER['DOCUMENT_ROOT']. '\/uptime.txt';\nif (is_file($uptimefile)) {\n\u00a0 \u00a0 $uptime = @file_get_contents($uptimefile);\n} \u00a0<\/code><\/pre>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mostrar el tiempo de actividad del estado del servidor en p\u00e1ginas web usando PHP y Crontab<\/p>\n","protected":false},"author":1,"featured_media":223885,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,716,800,840],"tags":[1172],"class_list":["post-232318","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-php-2","category-tutoriales","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=232318"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232318\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/223885"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=232318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=232318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=232318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}