{"id":232527,"date":"2023-01-21T18:46:00","date_gmt":"2023-01-21T15:46:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232527"},"modified":"2022-11-10T10:18:36","modified_gmt":"2022-11-10T07:18:36","slug":"palvelimen-tilan-kaeytettaevyyden-naeyttaeminen-verkkosivuilla-php-n-ja-crontabin-avulla","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/palvelimen-tilan-kaeytettaevyyden-naeyttaeminen-verkkosivuilla-php-n-ja-crontabin-avulla\/","title":{"rendered":"Palvelimen tilan k\u00e4ytett\u00e4vyyden n\u00e4ytt\u00e4minen verkkosivuilla PHP:n ja Crontabin avulla"},"content":{"rendered":"<p>Tied\u00e4mme kaikki aiemmin <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\">t\u00e4ss\u00e4 viestiss\u00e4<\/a>, ett\u00e4 voimme k\u00e4ytt\u00e4\u00e4 PHP: <strong>ss\u00e4 shell_exec-<\/strong> tai <strong>exec<\/strong> -muotoa saadakseen ulkoisen ohjelman tulosteen palvelimelle. Joten ilmeisesti voimme ajaa linux-komentoa <strong>uptime<\/strong> saadaksemme palvelimen tilan, mik\u00e4 antaa jotain t\u00e4llaista (tai jos rullaat t\u00e4t\u00e4 blogia alas, t\u00e4m\u00e4n sivun lopusta l\u00f6yd\u00e4t l\u00e4hes reaaliaikaisen tilap\u00e4ivityksen, eli p\u00e4ivittyv\u00e4t joka 5 minuuttia):<\/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>N\u00e4ist\u00e4 syist\u00e4 ei kuitenkaan ole suositeltavaa kutsua <strong>uptime<\/strong> &#8211; komentoa suoraan k\u00e4ytt\u00e4m\u00e4ll\u00e4 <strong>shell_exec-<\/strong> tai <strong>exec -komentoa.<\/strong><br \/>\nEnsinn\u00e4kin web-hosting-yritykset voivat poistaa <strong>shell_execin<\/strong> ja <strong>execin<\/strong> k\u00e4yt\u00f6st\u00e4 (sik\u00e4li kuin tied\u00e4n), p\u00e4\u00e4asiassa jaetuissa is\u00e4nniss\u00e4 turvallisuussyist\u00e4. Fasthosts poistaa t\u00e4m\u00e4n k\u00e4yt\u00f6st\u00e4, mutta Godday ei toisaalta kiell\u00e4 t\u00e4t\u00e4 k\u00e4ytt\u00f6\u00e4. Toiseksi n\u00e4iden kahden komennon suorittamista reaaliajassa PHP-skriptien sis\u00e4ll\u00e4 pidet\u00e4\u00e4n tehottomana ja aikaa (CPU) viev\u00e4n\u00e4.<\/p>\n<p>Oikea\/suositeltu tapa saada t\u00e4llaiset tiedot on seuraava: Luo ensin <a href=\"https:\/\/helloacm.com\/crontab-generator\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">crontab<\/a>, joka suoritetaan tietyin v\u00e4liajoin, esim. 2 minuutin v\u00e4lein palvelimella, k\u00e4ytt\u00e4m\u00e4ll\u00e4 <strong>crontab -e<\/strong> mahdollistaa t\u00f6iden muokkaamisen suosikkitekstieditorillasi, esim. kuten <strong>nano<\/strong> tai <strong>vim<\/strong>.<\/p>\n<pre><code>*\/2 * * * * \/usr\/bin\/uptime &gt; $HOME\/htdocs\/uptime.txt<\/code><\/pre>\n<p>Siten 2 minuutin v\u00e4lein (poista \/2 joka minuutti) tiedosto <strong>uptime.txt<\/strong> p\u00e4ivitet\u00e4\u00e4n ja asetetaan julkiseen HTTP-kansioon. Joten voit k\u00e4ytt\u00e4\u00e4 seuraavaa PHP-skripti\u00e4 saadaksesi t\u00e4llaiset tiedot.<\/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>Kuulostaa melko helpolta, eik\u00f6? T\u00e4m\u00e4 antaa sinulle suhteellisen tarkan k\u00e4ytett\u00e4vyyden tilan, ja voit laittaa n\u00e4m\u00e4 tiedot wordpress- blogin <strong>footer.php<\/strong> -osoitteeseen (vierit\u00e4 esimerkiksi sivun loppuun).<\/p>\n<p>Voit my\u00f6s k\u00e4ytt\u00e4\u00e4 <strong>DOCUMENT_ROOT<\/strong> -palvelinmuuttujaa, joka edustaa verkkosivuston juurihakemistoa. Varmista siis, ett\u00e4 <strong>uptime.txt<\/strong> -tiedosto sijaitsee verkkosivuston juurihakemistossa.<\/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\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Palvelimen tilan k\u00e4ytett\u00e4vyyden n\u00e4ytt\u00e4minen verkkosivuilla PHP:n ja Crontabin avulla<\/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":[719,895,843,803],"tags":[1166],"class_list":["post-232527","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-koodi","category-opetusohjelmia","category-php-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=232527"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232527\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/223885"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=232527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=232527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=232527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}