{"id":9148,"date":"2019-04-27T00:05:46","date_gmt":"2019-04-27T00:05:46","guid":{"rendered":"https:\/\/www.gmass.co\/blog\/?p=4148"},"modified":"2019-05-03T07:14:57","modified_gmt":"2019-05-03T07:14:57","slug":"useful-sysadmin-skills","status":"publish","type":"post","link":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/","title":{"rendered":"Useful sysadmin skills I&#8217;ve taught myself recently"},"content":{"rendered":"<p>GMass is a lean operation, and not only am I the product manager, but I&#8217;m also the sysadmin, which means maintaining and keeping watch over <strong>a dozen servers<\/strong>. I&#8217;ve been managing servers in some capacity for over 20 years now, but here are <strong>a few skills I taught myself in the last month<\/strong> that have <strong>increased my productivity<\/strong> and made me feel more like a <strong>sys-ninja<\/strong> than a sys-admin.<\/p>\n<h3>1. Tailing a log file<\/h3>\n<p>GMass generates tons of logs.<\/p>\n<p>There&#8217;s IIS log files from our web server, but\u00a0also internal logs created by a plethora of <strong>worker EXEs<\/strong> that do everything from <strong>sending mail merge campaigns<\/strong> to <strong>syncing stats<\/strong> with the campaign reports that you see. I <strong>used to open up a log file in Notepad<\/strong>, and then <strong>a few minutes later, close it and re-open it<\/strong>, so I could see what progress has been made in those few minutes. No longer. Now I&#8217;ve switched to <a href=\"https:\/\/notepad-plus-plus.org\/\">Notepad++<\/a> which has a handy <a href=\"https:\/\/notepad-plus-plus.org\/news\/notepad-6.9.2-released.html\">&#8220;tail&#8221; feature<\/a>. Every few seconds, it checks for changes to the open file and refreshes it. Now I can just stare at my screen and watch the log file scroll by. I feel like Chloe from <em>24<\/em>.<\/p>\n<h3>2. View just certain lines of a log file<\/h3>\n<p>I often want to see just log file lines that match some particular string. For example, if I have an abuser on my hands, I&#8217;ll isolate the IP address of the abuser, and want to see the web server log file lines matching just that IP address. I used to use Notepad&#8217;s &#8220;Find&#8221; function and search for the IP and scroll through all the matching hits. What&#8217;s proven to be much easier is using <a href=\"https:\/\/notepad-plus-plus.org\/community\/topic\/14326\/find-all-lines-that-contain-specific-strings\">Notepad++&#8217;s &#8220;Find all in current document&#8221; feature<\/a>, which isolates just the lines that match a particular string. No more endless scrolling through gigs of logs.<\/p>\n<h3>3. Query your text log file like it&#8217;s a database table<\/h3>\n<p>This has been a huge boon for my sanity. Microsoft has a little-known tool called <a href=\"https:\/\/www.shanebart.com\/parsing-iis-logs-using-log-parser-studio\/\">Microsoft Log Parser Studio<\/a> which lets you write SQL SELECT queries against any log files, even ones that haven&#8217;t been generated by IIS.<\/p>\n<h3>4. Search for text inside images<\/h3>\n<p>I take lots of screenshots.<\/p>\n<p>There&#8217;s an error on the server? Screenshot it, so I can research it later.<\/p>\n<p>Buying something from a shady website? Screenshot it as evidence of my order and the refund policy.<\/p>\n<p>Booking travel on Expedia? Screenshot it, because their email confirmations never seem to arrive.<\/p>\n<p>However, after collecting a plethora of screenshots over the years, they&#8217;re pretty useless unless I can search them. At the end of 2018, Dropbox released a <a href=\"https:\/\/blog.dropbox.com\/topics\/product\/search-images-text-ocr\">search function that finds text inside images<\/a>. Since I already use Dropbox to store all my screenshots, this made searching my screenshots a breeze. I <strong>did have to upgrade my account from Plus to Professional<\/strong>, and went from $10\/month to $20\/month, but totally worth it.<\/p>\n<h3>5. Emergency notifications\u00a0that wake me up when I&#8217;m asleep<\/h3>\n<p>I&#8217;ve used an iPhone as my primary mobile phone for the last five years, mostly because <strong>my wife insisted I make the switch<\/strong> because she has one and this way my texts appear the more desired blue instead of the less desirable green. Turns out this wasn&#8217;t the best decision as a sysadmin, because <strong>Apple&#8217;s ecosystem is so &#8220;closed&#8221;<\/strong>. I need my phone to wake me up when there&#8217;s a big problem, like if GMass is entirely down, or if Gmail has made a code change that has broken the GMass extension. I searched and searched and even <a href=\"https:\/\/www.reddit.com\/r\/sysadmin\/comments\/ai49hh\/looking_for_a_solution_that_will_wake_me_the_f_up\/\">posed this question on reddit<\/a>, and the home-grown cheap solution I settled on was an Android-based solution. Only Android was capable of doing what I wanted because Android apps are able to read text messages and take actions based on them. iOS is &#8220;closed&#8221;, meaning a third party non-Apple app has no visibility into text messages. So, I use <a href=\"https:\/\/apkpure.com\/firealert-2\/de.hoernchen.android.firealert2\">Android&#8217;s FireAlert 2 app<\/a>. I tell it what string to look for in a text, and if found, it sounds an alarm that could wake a sleeping bear during hibernation. I no longer wake up every morning in a rush to check my phone to make sure the servers are up. I can rest confidently knowing that I (and my wife and baby) will be <strong>woken up with the screeching sound of a 1,000 decibel alarm<\/strong> if anything goes wrong.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GMass is a lean operation, and not only am I the product manager, but I&#8217;m also the sysadmin, which means maintaining and keeping watch over a dozen servers.\u2026<\/p>\n","protected":false},"author":2,"featured_media":9227,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2432],"tags":[],"class_list":["post-9148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sysadmins"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>Useful sysadmin skills I&#039;ve taught myself recently<\/title>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Useful sysadmin skills I&#039;ve taught myself recently\" \/>\r\n<meta property=\"og:description\" content=\"GMass is a lean operation, and not only am I the product manager, but I&#8217;m also the sysadmin, which means maintaining and keeping watch over a dozen servers.\u2026\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/\" \/>\r\n<meta property=\"og:site_name\" content=\"GMass Blog\" \/>\r\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/GmailMailMerge\/\" \/>\r\n<meta property=\"article:published_time\" content=\"2019-04-27T00:05:46+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2019-05-03T07:14:57+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.gmass.co\/blog\/wp-content\/uploads\/2019\/04\/gmass-sysadmin-illustration-final.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"2002\" \/>\r\n\t<meta property=\"og:image:height\" content=\"934\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"Ajay Goel\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@PartTimeSnob\" \/>\r\n<meta name=\"twitter:site\" content=\"@GMassForGmail\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ajay Goel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/\"},\"author\":{\"name\":\"Ajay Goel\",\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/#\\\/schema\\\/person\\\/b5fa74f8765b860701158fd77162fff8\"},\"headline\":\"Useful sysadmin skills I&#8217;ve taught myself recently\",\"datePublished\":\"2019-04-27T00:05:46+00:00\",\"dateModified\":\"2019-05-03T07:14:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/\"},\"wordCount\":745,\"commentCount\":4,\"image\":{\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/gmass-sysadmin-illustration-final.png\",\"articleSection\":[\"Sysadmins\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/\",\"url\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/\",\"name\":\"Useful sysadmin skills I've taught myself recently\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/gmass-sysadmin-illustration-final.png\",\"datePublished\":\"2019-04-27T00:05:46+00:00\",\"dateModified\":\"2019-05-03T07:14:57+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/#\\\/schema\\\/person\\\/b5fa74f8765b860701158fd77162fff8\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/gmass-sysadmin-illustration-final.png\",\"contentUrl\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/gmass-sysadmin-illustration-final.png\",\"width\":2002,\"height\":934},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/useful-sysadmin-skills\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Useful sysadmin skills I&#8217;ve taught myself recently\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/\",\"name\":\"GMass Blog\",\"description\":\"Tips and tricks for sending mail merge and mass email campaigns directly from Gmail\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/#\\\/schema\\\/person\\\/b5fa74f8765b860701158fd77162fff8\",\"name\":\"Ajay Goel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f3a70af05bbabe47925150d5a1320540e801b78055a74da20658fc97cd0706a2?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f3a70af05bbabe47925150d5a1320540e801b78055a74da20658fc97cd0706a2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f3a70af05bbabe47925150d5a1320540e801b78055a74da20658fc97cd0706a2?s=96&d=mm&r=g\",\"caption\":\"Ajay Goel\"},\"description\":\"Ajay is the founder of GMass and has been developing email sending software for 20 years.\",\"sameAs\":[\"https:\\\/\\\/twitter.com\\\/PartTimeSnob\",\"https:\\\/\\\/x.com\\\/PartTimeSnob\"],\"url\":\"https:\\\/\\\/www.gmass.co\\\/blog\\\/author\\\/ajay-goel\\\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Useful sysadmin skills I've taught myself recently","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:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/","og_locale":"en_US","og_type":"article","og_title":"Useful sysadmin skills I've taught myself recently","og_description":"GMass is a lean operation, and not only am I the product manager, but I&#8217;m also the sysadmin, which means maintaining and keeping watch over a dozen servers.\u2026","og_url":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/","og_site_name":"GMass Blog","article_publisher":"https:\/\/www.facebook.com\/GmailMailMerge\/","article_published_time":"2019-04-27T00:05:46+00:00","article_modified_time":"2019-05-03T07:14:57+00:00","og_image":[{"width":2002,"height":934,"url":"https:\/\/www.gmass.co\/blog\/wp-content\/uploads\/2019\/04\/gmass-sysadmin-illustration-final.png","type":"image\/png"}],"author":"Ajay Goel","twitter_card":"summary_large_image","twitter_creator":"@PartTimeSnob","twitter_site":"@GMassForGmail","twitter_misc":{"Written by":"Ajay Goel","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/#article","isPartOf":{"@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/"},"author":{"name":"Ajay Goel","@id":"https:\/\/www.gmass.co\/blog\/#\/schema\/person\/b5fa74f8765b860701158fd77162fff8"},"headline":"Useful sysadmin skills I&#8217;ve taught myself recently","datePublished":"2019-04-27T00:05:46+00:00","dateModified":"2019-05-03T07:14:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/"},"wordCount":745,"commentCount":4,"image":{"@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/#primaryimage"},"thumbnailUrl":"https:\/\/www.gmass.co\/blog\/wp-content\/uploads\/2019\/04\/gmass-sysadmin-illustration-final.png","articleSection":["Sysadmins"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/","url":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/","name":"Useful sysadmin skills I've taught myself recently","isPartOf":{"@id":"https:\/\/www.gmass.co\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/#primaryimage"},"image":{"@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/#primaryimage"},"thumbnailUrl":"https:\/\/www.gmass.co\/blog\/wp-content\/uploads\/2019\/04\/gmass-sysadmin-illustration-final.png","datePublished":"2019-04-27T00:05:46+00:00","dateModified":"2019-05-03T07:14:57+00:00","author":{"@id":"https:\/\/www.gmass.co\/blog\/#\/schema\/person\/b5fa74f8765b860701158fd77162fff8"},"breadcrumb":{"@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/#primaryimage","url":"https:\/\/www.gmass.co\/blog\/wp-content\/uploads\/2019\/04\/gmass-sysadmin-illustration-final.png","contentUrl":"https:\/\/www.gmass.co\/blog\/wp-content\/uploads\/2019\/04\/gmass-sysadmin-illustration-final.png","width":2002,"height":934},{"@type":"BreadcrumbList","@id":"https:\/\/www.gmass.co\/blog\/useful-sysadmin-skills\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.gmass.co\/blog\/"},{"@type":"ListItem","position":2,"name":"Useful sysadmin skills I&#8217;ve taught myself recently"}]},{"@type":"WebSite","@id":"https:\/\/www.gmass.co\/blog\/#website","url":"https:\/\/www.gmass.co\/blog\/","name":"GMass Blog","description":"Tips and tricks for sending mail merge and mass email campaigns directly from Gmail","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.gmass.co\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.gmass.co\/blog\/#\/schema\/person\/b5fa74f8765b860701158fd77162fff8","name":"Ajay Goel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f3a70af05bbabe47925150d5a1320540e801b78055a74da20658fc97cd0706a2?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f3a70af05bbabe47925150d5a1320540e801b78055a74da20658fc97cd0706a2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f3a70af05bbabe47925150d5a1320540e801b78055a74da20658fc97cd0706a2?s=96&d=mm&r=g","caption":"Ajay Goel"},"description":"Ajay is the founder of GMass and has been developing email sending software for 20 years.","sameAs":["https:\/\/twitter.com\/PartTimeSnob","https:\/\/x.com\/PartTimeSnob"],"url":"https:\/\/www.gmass.co\/blog\/author\/ajay-goel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/posts\/9148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/comments?post=9148"}],"version-history":[{"count":0,"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/posts\/9148\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/media\/9227"}],"wp:attachment":[{"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/media?parent=9148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/categories?post=9148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gmass.co\/blog\/wp-json\/wp\/v2\/tags?post=9148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}