{"id":466,"date":"2013-02-04T09:47:00","date_gmt":"2013-02-04T09:47:00","guid":{"rendered":"https:\/\/opstree.com\/blog\/\/2013\/02\/04\/automation-tips-and-tricks-january-2013\/"},"modified":"2019-09-18T15:54:24","modified_gmt":"2019-09-18T10:24:24","slug":"automation-tips-and-tricks-january-2013","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/automation-tips-and-tricks-january-2013\/","title":{"rendered":"Automation tips and tricks January 2013"},"content":{"rendered":"<div dir=\"ltr\" style=\"text-align:left;\">I&#8217;m starting a new blog series in which I&#8217;ll be talking about various  cool things or automations that I along with my team done in a month and  what are my plans for next month.<\/p>\n<p>Talking about January 2013, I&#8217;ve done following things<\/p>\n<p>1.) Streamlining of environments : The big step in streamlining the  environments is to change the owners of the application from root user  to tomcat user &amp; making ports of all the application consistent  across environments i.e dev, qa, pt &amp; staging. This will help me in  my long term goal of introducing a server configuration tool most  preferably puppet.<br \/>\n2.) Log Analyzer Utility : One of the major challenge that teams face is  to get real time notifications of any exceptions that occur in the  server logs, to overcome this problem we have written a log analyzer  utility that will scan a log file backed by a meta file, this meta file  have the information about who all should be notified for an exception.  This utility is written in shell script and integrated with Jenkins CI  server so that we can schedule the execution of this utility as per  convenience, currently jenkins is executing this utility after every 15  minutes.<br \/>\n3.) System monitor : Off late we were facing challenge of servers  getting disk out of space &amp; when whole system goes down then only we  were able to figure out the issue is due to disk space outage due to  huge log files, to overcome this problem we have built a small shell  utility that scans couple of folder&#8217;s recursively and provide a list of  top 10 files whose size is greater then a specified threshold. In our  case we have set this threshold as 1 GB, also all these variables can be  provided as input to this utility such as folder&#8217;s to scan regular  expression of files which needs to be considered the threshold value<\/p>\n<p>This is what we have achieved in the month of January 2013 although  these utilities seems to be but obvious and simple one but the effect  they have in the productivity of the team is considerable.<\/p>\n<p>Now plans for the month of February 2013, usually I choose those things  which we are doing manually, this month we will be working on following  things<br \/>\n1.) Utility which can perform automated merge if possible<br \/>\n2.) Utility that can automatically upload the artifacts to a central server(artifactory in our case)<br \/>\n3.) Integration of git common operations with Jenkins<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m starting a new blog series in which I&#8217;ll be talking about various cool things or automations that I along with my team done in a month and what are my plans for next month. Talking about January 2013, I&#8217;ve done following things 1.) Streamlining of environments : The big step in streamlining the environments [&hellip;]<\/p>\n","protected":false},"author":171775670,"featured_media":29900,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[28070474],"tags":[44070,30871489,768739299,676319259,676319260],"blocksy_meta":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/11\/DevSecOps-1.jpg","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfDBOm-7w","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/466"}],"collection":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/users\/171775670"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=466"}],"version-history":[{"count":1,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/466\/revisions"}],"predecessor-version":[{"id":804,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/466\/revisions\/804"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media\/29900"}],"wp:attachment":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media?parent=466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}