{"id":2276,"date":"2017-06-08T17:42:28","date_gmt":"2017-06-08T12:42:28","guid":{"rendered":"https:\/\/ahmadawais.com\/?p=2276"},"modified":"2019-04-11T17:56:54","modified_gmt":"2019-04-11T12:56:54","slug":"setup-cron-in-unix-basic-understanding","status":"publish","type":"post","link":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/","title":{"rendered":"Anatomy of crontab!"},"content":{"rendered":"<p>More often than not, we find ourselves in a situation where something needs to be automated. For example, since I use Let&#8217;s Encrypt SSL certificates, I have to renew them every 90 days.<\/p>\n<p>To automate it, I use a simple cron. Being a DevOps fanboy, I like doing things from scratch. This article will help you write a simple cron yourself if you have SSH\/root access to your server.<\/p>\n<h2 id=\"%f0%9f%8e%af-crontab\">\ud83c\udfaf Crontab<a href=\"#%f0%9f%8e%af-crontab\" class=\"heading-link\">#<\/a><\/h2>\n<p>You can use the crontab command to setup your cron on a Unix based OS.<\/p>\n<p><strong>NAME<\/strong>: <code>crontab<\/code> \u2014 maintain crontab files for individual users (V3)<\/p>\n<p><strong>SYNOPSIS<\/strong>: <code>crontab<\/code> [ \u2212u user] file crontab[\u2212uuser]{\u2212l |\u2212r |\u2212e}<\/p>\n<p><strong>DESCRIPTION<\/strong>: The <code>crontab<\/code> utility is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in Vixie Cron. Each user can have their own crontab.<\/p>\n<ul>\n<li><code>\u2212u<\/code> Specify the name of the user whose crontab is to be tweaked. If this option is not given, crontab examines \u201cyour\u201d crontab, i.e., the crontab of the person executing the command. Note that su(1) can confuse crontab and that if you are running inside of su(1) you should always use the \u2212u option for safety\u2019s sake.<\/li>\n<li><code>\u2212l<\/code> Display the current crontab on standard output.<\/li>\n<li><code>\u2212r<\/code> Remove the current crontab.<\/li>\n<li><code>\u2212e<\/code> Edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. The specified editor must edit the file in place; any editor that unlinks the file and recreates it cannot be used. After you exit from the editor, the modified crontab will be installed automatically.<\/li>\n<\/ul>\n<h2 id=\"%f0%9f%a4%96-add-a-cron-job\">\ud83e\udd16 Add a Cron Job<a href=\"#%f0%9f%a4%96-add-a-cron-job\" class=\"heading-link\">#<\/a><\/h2>\n<p>Let&#8217;s add a simple cron job that repeats itself every fifth day.<\/p>\n<h3 id=\"1-edit-the-current-crontab\">1. Edit the Current <code>crontab<\/code><a href=\"#1-edit-the-current-crontab\" class=\"heading-link\">#<\/a><\/h3>\n<p>Add a cron job by the command (this will open up the crontab file where you can add your crons).<\/p>\n<p><code>crontab -e<\/code><\/p>\n<p>A <code>crontab<\/code> file has five fields for specifying mins, hours, the day of the month, month, and the day of the week followed by the command to be run at that interval.<\/p>\n<\/section>\n<div class=\"postcontents full dark\">\n<div class=\"wrapper\">\n<p><em><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4875\" src=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab.png\" alt=\"Crontab\" width=\"1412\" height=\"818\" srcset=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab.png 1412w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab-300x174.png 300w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab-768x445.png 768w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab-1024x593.png 1024w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab-860x498.png 860w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab-680x394.png 680w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab-400x232.png 400w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab-50x29.png 50w\" sizes=\"auto, (max-width: 1412px) 100vw, 1412px\" \/>* in the value field above means all legal values as in braces for that column.<\/em><\/p>\n<p><strong>UPDATE<\/strong>: Check out this awesome resource to visualize\u2192 <a href=\"http:\/\/crontab.guru\">crontab.guru<\/a><\/p>\n<\/div>\n<\/div>\n<section class=\"postcontents wrapper\">\n<h3 id=\"2-add-a-cron-job\">2. Add a Cron Job<a href=\"#2-add-a-cron-job\" class=\"heading-link\">#<\/a><\/h3>\n<p>Since we only want our Cron to run every fifth day. I&#8217;ll add something like this at the end of the file. Each cron job should be at a new line.<\/p>\n<p><code>0 0 *\/5 * * shell_command_here<\/code><\/p>\n<p>or to be exact a custom shell command for a bash function that I wrote.<\/p>\n<p><code>0 0 *\/5 * * wpsites update --le --all<\/code><\/p>\n<h3 id=\"3-save-the-crontab\">3. Save the <code>crontab<\/code><a href=\"#3-save-the-crontab\" class=\"heading-link\">#<\/a><\/h3>\n<p>Save it <code>CTRL (\u2303)<\/code> + <code>X<\/code> then <code>Y<\/code> \u2014 finally press <code>ENTER (return)<\/code><\/p>\n<h3 id=\"4-save-the-crontab\">4. Save the <code>crontab<\/code><a href=\"#4-save-the-crontab\" class=\"heading-link\">#<\/a><\/h3>\n<p>You can check the new crons have been installed of not by<\/p>\n<p><code>crontab -l<\/code><\/p>\n<div>\n<h3 id=\"to-summarize\">To Summarize<a href=\"#to-summarize\" class=\"heading-link\">#<\/a><\/h3>\n<div>1\ufe0f\u20e3 Edit the cron by command <code>crontab -e<\/code><\/div>\n<div>2\ufe0f\u20e3 Save it <code>CTRL (\u2303)<\/code> + <code>X<\/code> then <code>Y<\/code> \u2014 finally press <code>ENTER (return)<\/code><\/div>\n<div>3\ufe0f\u20e3 Check cron jobs with <code>crontab -l<\/code><\/div>\n<\/div>\n<p>And you&#8217;re done :) Let me know how it goes at your end!<\/p>\n<p>Peace! \u270c\ufe0f<\/p>\n","protected":false},"excerpt":{"rendered":"<p>More often than not, we find ourselves in a situation where something needs to be automated. For example, since I use Let&#8217;s Encrypt SSL certificates, I have to renew them every 90 days. To automate it, I use a simple cron. Being a DevOps fanboy, I like doing things from scratch. This article will help you write a simple cron yourself if you have SSH\/root access to your server. \ud83c\udfaf Crontab# You can use the crontab command to setup your cron on a Unix based OS. NAME: crontab \u2014 maintain crontab files for individual users (V3) SYNOPSIS: crontab [ \u2212u [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"webmentions_disabled_pings":false,"webmentions_disabled":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[141],"tags":[],"class_list":["post-2276","post","type-post","status-publish","format-standard","hentry","category-devops"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Anatomy of crontab!<\/title>\n<meta name=\"description\" content=\"More often than not, we find ourselves in a situation where something needs to be automated. For example, since I use Let&#039;s Encrypt SSL certificates, I\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Anatomy of crontab!\" \/>\n<meta property=\"og:description\" content=\"More often than not, we find ourselves in a situation where something needs to be automated. For example, since I use Let&#039;s Encrypt SSL certificates, I\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/\" \/>\n<meta property=\"og:site_name\" content=\"Ahmad Awais\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/AhmadAwais\" \/>\n<meta property=\"article:author\" content=\"https:\/\/facebook.com\/AhmadAwais\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-08T12:42:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-04-11T12:56:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab.png\" \/>\n<meta name=\"author\" content=\"Ahmad Awais\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MrAhmadAwais\" \/>\n<meta name=\"twitter:site\" content=\"@MrAhmadAwais\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ahmad Awais\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/\"},\"author\":{\"name\":\"Ahmad Awais\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\"},\"headline\":\"Anatomy of crontab!\",\"datePublished\":\"2017-06-08T12:42:28+00:00\",\"dateModified\":\"2019-04-11T12:56:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/\"},\"wordCount\":454,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\"},\"image\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/crontab.png\",\"articleSection\":[\"DevOps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/\",\"name\":\"Anatomy of crontab!\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/crontab.png\",\"datePublished\":\"2017-06-08T12:42:28+00:00\",\"dateModified\":\"2019-04-11T12:56:54+00:00\",\"description\":\"More often than not, we find ourselves in a situation where something needs to be automated. For example, since I use Let's Encrypt SSL certificates, I\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/crontab.png\",\"contentUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/crontab.png\",\"width\":1412,\"height\":818,\"caption\":\"Crontab\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/setup-cron-in-unix-basic-understanding\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ahmadawais.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Anatomy of crontab!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#website\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/\",\"name\":\"Ahmad Awais\",\"description\":\"Founder &amp; CEO of Command Code | Google Developers Advisory Board (gDAB) founding member\",\"publisher\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ahmadawais.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\",\"name\":\"Ahmad Awais\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\",\"contentUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\",\"width\":2299,\"height\":1705,\"caption\":\"Ahmad Awais\"},\"logo\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\"},\"description\":\"Founder & CEO of Command Code, the most used coding agent for open models. NASA Ingenuity Mars Helicopter open source contributor, 6\u00d7 GitHub Star, Google Developers Advisory Board founding member, and angel investor.\",\"sameAs\":[\"https:\\\/\\\/AhmadAwais.com\\\/\",\"https:\\\/\\\/facebook.com\\\/AhmadAwais\",\"https:\\\/\\\/instagram.com\\\/MrAhmadAwais\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/MrAhmadAwais\\\/\",\"https:\\\/\\\/x.com\\\/MrAhmadAwais\",\"https:\\\/\\\/youtube.com\\\/AhmadAwais\",\"https:\\\/\\\/github.com\\\/ahmadawais\",\"https:\\\/\\\/www.youtube.com\\\/AhmadAwais\",\"https:\\\/\\\/bsky.app\\\/profile\\\/ahmadawais.com\",\"https:\\\/\\\/commandcode.ai\"],\"jobTitle\":\"Founder & CEO\",\"worksFor\":{\"@type\":\"Organization\",\"name\":\"Command Code\",\"url\":\"https:\\\/\\\/commandcode.ai\"},\"award\":[\"NASA Ingenuity Mars Helicopter open source contributor\",\"6\u00d7 GitHub Stars (one of the first 8 Gold Stars)\",\"#1 trending JavaScript developer on GitHub\",\"Best Speaker, AI Engineer World\u2019s Fair\",\"MIT Media Lab & Automattic Open Source Design Award\",\"MongoDB Innovation Award\",\"6\u00d7 Google Developer Expert\",\"6\u00d7 Microsoft MVP\"],\"memberOf\":[{\"@type\":\"Organization\",\"name\":\"Google Developers Advisory Board\"},{\"@type\":\"Organization\",\"name\":\"OpenAPI Initiative Business Governing Board, Linux Foundation\"},{\"@type\":\"Organization\",\"name\":\"SF DevNetwork AI\\\/ML Advisory Board\"}],\"alumniOf\":{\"@type\":\"CollegeOrUniversity\",\"name\":\"University of Engineering and Technology, Lahore\"},\"knowsAbout\":[\"AI coding agents\",\"Developer tools\",\"Open source\",\"Developer relations\",\"TypeScript\",\"Node.js\",\"CLI\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Anatomy of crontab!","description":"More often than not, we find ourselves in a situation where something needs to be automated. For example, since I use Let's Encrypt SSL certificates, I","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:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/","og_locale":"en_US","og_type":"article","og_title":"Anatomy of crontab!","og_description":"More often than not, we find ourselves in a situation where something needs to be automated. For example, since I use Let's Encrypt SSL certificates, I","og_url":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/","og_site_name":"Ahmad Awais","article_publisher":"https:\/\/facebook.com\/AhmadAwais","article_author":"https:\/\/facebook.com\/AhmadAwais","article_published_time":"2017-06-08T12:42:28+00:00","article_modified_time":"2019-04-11T12:56:54+00:00","og_image":[{"url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab.png","type":"","width":"","height":""}],"author":"Ahmad Awais","twitter_card":"summary_large_image","twitter_creator":"@MrAhmadAwais","twitter_site":"@MrAhmadAwais","twitter_misc":{"Written by":"Ahmad Awais","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/#article","isPartOf":{"@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/"},"author":{"name":"Ahmad Awais","@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"headline":"Anatomy of crontab!","datePublished":"2017-06-08T12:42:28+00:00","dateModified":"2019-04-11T12:56:54+00:00","mainEntityOfPage":{"@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/"},"wordCount":454,"commentCount":1,"publisher":{"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"image":{"@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/#primaryimage"},"thumbnailUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab.png","articleSection":["DevOps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/","url":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/","name":"Anatomy of crontab!","isPartOf":{"@id":"https:\/\/ahmadawais.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/#primaryimage"},"image":{"@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/#primaryimage"},"thumbnailUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab.png","datePublished":"2017-06-08T12:42:28+00:00","dateModified":"2019-04-11T12:56:54+00:00","description":"More often than not, we find ourselves in a situation where something needs to be automated. For example, since I use Let's Encrypt SSL certificates, I","breadcrumb":{"@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/#primaryimage","url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab.png","contentUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2017\/06\/crontab.png","width":1412,"height":818,"caption":"Crontab"},{"@type":"BreadcrumbList","@id":"https:\/\/ahmadawais.com\/setup-cron-in-unix-basic-understanding\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ahmadawais.com\/"},{"@type":"ListItem","position":2,"name":"Anatomy of crontab!"}]},{"@type":"WebSite","@id":"https:\/\/ahmadawais.com\/#website","url":"https:\/\/ahmadawais.com\/","name":"Ahmad Awais","description":"Founder &amp; CEO of Command Code | Google Developers Advisory Board (gDAB) founding member","publisher":{"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ahmadawais.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b","name":"Ahmad Awais","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","contentUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","width":2299,"height":1705,"caption":"Ahmad Awais"},"logo":{"@id":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg"},"description":"Founder & CEO of Command Code, the most used coding agent for open models. NASA Ingenuity Mars Helicopter open source contributor, 6\u00d7 GitHub Star, Google Developers Advisory Board founding member, and angel investor.","sameAs":["https:\/\/AhmadAwais.com\/","https:\/\/facebook.com\/AhmadAwais","https:\/\/instagram.com\/MrAhmadAwais\/","https:\/\/www.linkedin.com\/in\/MrAhmadAwais\/","https:\/\/x.com\/MrAhmadAwais","https:\/\/youtube.com\/AhmadAwais","https:\/\/github.com\/ahmadawais","https:\/\/www.youtube.com\/AhmadAwais","https:\/\/bsky.app\/profile\/ahmadawais.com","https:\/\/commandcode.ai"],"jobTitle":"Founder & CEO","worksFor":{"@type":"Organization","name":"Command Code","url":"https:\/\/commandcode.ai"},"award":["NASA Ingenuity Mars Helicopter open source contributor","6\u00d7 GitHub Stars (one of the first 8 Gold Stars)","#1 trending JavaScript developer on GitHub","Best Speaker, AI Engineer World\u2019s Fair","MIT Media Lab & Automattic Open Source Design Award","MongoDB Innovation Award","6\u00d7 Google Developer Expert","6\u00d7 Microsoft MVP"],"memberOf":[{"@type":"Organization","name":"Google Developers Advisory Board"},{"@type":"Organization","name":"OpenAPI Initiative Business Governing Board, Linux Foundation"},{"@type":"Organization","name":"SF DevNetwork AI\/ML Advisory Board"}],"alumniOf":{"@type":"CollegeOrUniversity","name":"University of Engineering and Technology, Lahore"},"knowsAbout":["AI coding agents","Developer tools","Open source","Developer relations","TypeScript","Node.js","CLI"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts\/2276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/comments?post=2276"}],"version-history":[{"count":0,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts\/2276\/revisions"}],"wp:attachment":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/media?parent=2276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/categories?post=2276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/tags?post=2276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}