{"id":1651,"date":"2016-12-15T09:07:04","date_gmt":"2016-12-15T09:07:04","guid":{"rendered":"http:\/\/cloudkul.com\/blog\/?p=1651"},"modified":"2017-06-14T11:33:35","modified_gmt":"2017-06-14T11:33:35","slug":"check-site-availability-status-bash","status":"publish","type":"post","link":"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/","title":{"rendered":"How to Check Site Availability Status from Bash"},"content":{"rendered":"<p><span style=\"color: #333333\"><span style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif\"><span style=\"font-size: medium\">Here we try to establish a way using bash script that will check sites and its present title in regular interval of time ( as we fixed a cron job )\u00a0and revert a mail on getting any change, for this we are storing site&#8217;s Url and Title in database and using the bash\u00a0script and Casper&#8217;s \u00a0getTitle function matching each url&#8217;s current title with stored title one by one.\u00a0<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #333333\"><span style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif\"><span style=\"font-size: medium\">A little glimpse of code :<\/span><\/span><\/span><\/p>\n<pre class=\"lang:default decode:true \">num=`mysql -u username -ppassword -s -N -e \"use database ; select count(*) from table\"`\u00a0#it will get total no. of url present in to num variable\r\nfor ((p = 1;p &lt;= $num;p++)); \u00a0#a loop from 1 to num\r\ndo\r\nurl=`mysql -u username -ppassword -s -N -e \"use database ; select url from table where id =$p\"` \u00a0#getting url from database corresponds to p i.e. 1,2,3....num<\/pre>\n<p>we are having url from database into variable &#8216;url&#8217; now we are getting title of particular into variable &#8216;db_title&#8217; , we will pass this url as an argument to Casper function :<\/p>\n<pre class=\"lang:default decode:true \">db_title=`mysql -u username -ppassword -s -N -e \"use database ; select title from table where id =$p\"`\r\ntitle=`echo $db_title | sed -e \"s\/\\&amp;amp;\/\\&amp;\/g\" -e \"s\/\\'\/\\'\/g\" -e \"s\/\\&amp;quot;\/\\\"\/g\"` \u00a0#remove html special characters\r\n\/usr\/local\/bin\/casperjs \/home\/vagrant\/casper.js $url &gt; curr_title \u00a0#pass url to casperjs and get current title in curr_title\r\n\r\n<\/pre>\n<p>Casper code is as bellow:<\/p>\n<pre class=\"lang:default decode:true \">var casper = require('casper').create();\r\n\r\ncasper.start(casper.cli.get(0), function() { \u00a0 \u00a0 \u00a0#casper get the passed url and return the current title back\r\nthis.echo(this.getTitle());\r\n});\r\n\r\ncasper.run();<\/pre>\n<p>then we match the title stored in title of database and current title sent by the casperjs , if they both matches the process will continue else inform with a mail.<\/p>\n<p><em>that is all the logic behind the script&#8230;.<\/em><\/p>\n<p style=\"text-align: center\"><a href=\"http:\/\/cloudkul.com\/contact\/\">KINDLY CONTACT US IF THERE IS ANY QUERY<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here we try to establish a way using bash script that will check sites and <a class=\"text-primary\" title=\"read more\" href=\"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":9,"featured_media":1652,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[86],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Check Site Availability Status from Bash - Cloudkul<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Check Site Availability Status from Bash - Cloudkul\" \/>\n<meta property=\"og:description\" content=\"Here we try to establish a way using bash script that will check sites and [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloudkul\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-15T09:07:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-06-14T11:33:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2016\/12\/download-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"848\" \/>\n\t<meta property=\"og:image:height\" content=\"422\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"sanchita sengupta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/\",\"url\":\"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/\",\"name\":\"How to Check Site Availability Status from Bash - Cloudkul\",\"isPartOf\":{\"@id\":\"https:\/\/cloudkul.com\/blog\/#website\"},\"datePublished\":\"2016-12-15T09:07:04+00:00\",\"dateModified\":\"2017-06-14T11:33:35+00:00\",\"author\":{\"@id\":\"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/3f234c864fed11b27f2107ff62404537\"},\"breadcrumb\":{\"@id\":\"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Check Site Availability Status from Bash\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudkul.com\/blog\/#website\",\"url\":\"https:\/\/cloudkul.com\/blog\/\",\"name\":\"Cloudkul\",\"description\":\"Host your eCommerce Store on AWS with Optimized Performance\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudkul.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/3f234c864fed11b27f2107ff62404537\",\"name\":\"sanchita sengupta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/161a19864296b3d9c2a1146b7501c225?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/161a19864296b3d9c2a1146b7501c225?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g\",\"caption\":\"sanchita sengupta\"},\"sameAs\":[\"http:\/\/cloudkul.com\/blog\"],\"url\":\"https:\/\/cloudkul.com\/blog\/author\/sanchita-sengupta138\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Check Site Availability Status from Bash - Cloudkul","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/","og_locale":"en_US","og_type":"article","og_title":"How to Check Site Availability Status from Bash - Cloudkul","og_description":"Here we try to establish a way using bash script that will check sites and [...]","og_url":"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/","og_site_name":"Cloudkul","article_published_time":"2016-12-15T09:07:04+00:00","article_modified_time":"2017-06-14T11:33:35+00:00","og_image":[{"width":848,"height":422,"url":"https:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2016\/12\/download-1.png","type":"image\/png"}],"author":"sanchita sengupta","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/","url":"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/","name":"How to Check Site Availability Status from Bash - Cloudkul","isPartOf":{"@id":"https:\/\/cloudkul.com\/blog\/#website"},"datePublished":"2016-12-15T09:07:04+00:00","dateModified":"2017-06-14T11:33:35+00:00","author":{"@id":"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/3f234c864fed11b27f2107ff62404537"},"breadcrumb":{"@id":"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/cloudkul.com\/blog\/check-site-availability-status-bash\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Check Site Availability Status from Bash"}]},{"@type":"WebSite","@id":"https:\/\/cloudkul.com\/blog\/#website","url":"https:\/\/cloudkul.com\/blog\/","name":"Cloudkul","description":"Host your eCommerce Store on AWS with Optimized Performance","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudkul.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/3f234c864fed11b27f2107ff62404537","name":"sanchita sengupta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/161a19864296b3d9c2a1146b7501c225?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/161a19864296b3d9c2a1146b7501c225?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g","caption":"sanchita sengupta"},"sameAs":["http:\/\/cloudkul.com\/blog"],"url":"https:\/\/cloudkul.com\/blog\/author\/sanchita-sengupta138\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts\/1651"}],"collection":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/comments?post=1651"}],"version-history":[{"count":7,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts\/1651\/revisions"}],"predecessor-version":[{"id":1659,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts\/1651\/revisions\/1659"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/media\/1652"}],"wp:attachment":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/media?parent=1651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/categories?post=1651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/tags?post=1651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}