{"id":540,"date":"2018-01-14T14:13:36","date_gmt":"2018-01-14T18:43:36","guid":{"rendered":"http:\/\/gregorgonzalez.com.ve\/blog\/?p=540"},"modified":"2018-01-14T15:16:39","modified_gmt":"2018-01-14T19:46:39","slug":"automatizar-ejecucion-de-comandos-a-traves-de-putty","status":"publish","type":"post","link":"https:\/\/gregorgonzalez.com.ve\/blog\/automatizar-ejecucion-de-comandos-a-traves-de-putty\/","title":{"rendered":"Automatizar ejecuci\u00f3n de comandos a trav\u00e9s de PuTTY"},"content":{"rendered":"<p>Existen muchas herramientas para tratar de automatizar procesos y muchas alternativas a PuTTY, sin embargo como ya estoy acostumbrado a PuTTY quer\u00eda utilizarlo para ejecutar comandos en un servidor, usando las opciones que nos brinda y un simple archivo batch.<\/p>\n<p>En el servidor tengo varios scripts de Linux en archivos .sh, entre ellos un proceso autom\u00e1tico para realizar respaldos con MySqldump. Cuando trabajo en el servidor, a veces es necesario ejecutar este archivo manualmente, ingresar cada 10minutos es muy tedioso y repetitivo, por ello cre\u00e9 un archivo batch para simplemente realizarlo con rapidez en un doble clic.<\/p>\n<p>Primero debemos tener instalado putty, muchas veces se instala junto a WinSCP. La pagina oficial es <a href=\"http:\/\/www.putty.org\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.putty.org\/<\/a><\/p>\n<p>Descargamos e instalamos, luego buscamos la ruta de instalaci\u00f3n y en mi caso es \u00abC:\\Program Files (x86)\\PuTTY\\putty.exe\u00bb<\/p>\n<p>El comando para la conexi\u00f3n es un simple <strong>ssh<\/strong>, la cual podemos conectarnos a diversos sitios, ya sea mediante <strong>URL<\/strong> o <strong>IP<\/strong>, tambi\u00e9n podemos especificar si deseamos usar llaves ssh u otros m\u00e9todos para loguearnos. En este caso us\u00e9 simples par\u00e1metros con usuario y contrase\u00f1as.<\/p>\n<p><strong>ssh usuario@url puerto -pw tu_contrase\u00f1a <\/strong><\/p>\n<p>El puerto es opcional, debe usarse si llegaron a cambiarlo en el servidor.<\/p>\n<p>Los comandos a utilizar, no se pueden agregar en l\u00ednea, se debe escribir \u00a0en un archivo txt para luego agregarlos al final del comando <strong>-m \u00abruta del archivo\u00bb<\/strong>, en mi caso lo cre\u00e9 en el escritorio \u00abscript_ejecutar.txt\u00bb.<\/p>\n<p>Cuando finaliza el script, se cierran las ventanas autom\u00e1ticamente, si deseas mantenerlas abiertas para ver el resultado y poder escribir en la consola de Linux, debemos incluir \u201c<strong>-t<\/strong>\u201d al final del script principal y agregar \u201c<strong>\/bin\/bash<\/strong>\u201d al final del archivo de comandos a ejecutar.<\/p>\n<p>Entonces quedamos con 2 archivos, el archivo principal bash:<\/p>\n<p><strong>ejecutar_respaldo.bat<\/strong><\/p>\n<pre class=\"lang:default decode:true\" title=\"ejecutar_respaldo.bat\">\"C:\\Program Files (x86)\\PuTTY\\putty.exe\" -ssh usuario@tuweb.com 22 -pw 123456 -m \"C:\\Users\\gregor\\Desktop\\script_ejecutar.txt\" -t<\/pre>\n<p>Y el archivo con los comandos de Linux a ejecutar:<\/p>\n<p><strong>script_ejecutar.txt<\/strong><\/p>\n<pre class=\"lang:default decode:true\" title=\"script_ejecutar.txt\">cd \/administrador\/respaldo\/\r\n.\/script_mysqldump.sh\r\n\/bin\/bash<\/pre>\n<p>Y listo. Con esto podemos automatizar varios procesos, como revisar ciertos archivos, verificar el tama\u00f1o del disco, ejecutar tareas manualmente y en un simple clic.<\/p>\n<p>Luego necesitaba descargar los archivos de respaldos y para ello lo automatic\u00e9 con WinSCP <a href=\"http:\/\/gregorgonzalez.com.ve\/blog\/automatizar-transferencia-de-archivos-a-traves-de-winscp\/\">automatizar-transferencia-de-archivos-a-traves-de-winscp<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Existen muchas herramientas para tratar de automatizar procesos y muchas alternativas a PuTTY, sin embargo como ya estoy acostumbrado a PuTTY quer\u00eda utilizarlo para ejecutar comandos en un servidor, usando las opciones que nos brinda y un simple archivo batch. En el servidor tengo varios scripts de Linux en archivos .sh, entre ellos un proceso [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":532,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[11,151],"tags":[207,205,206],"_links":{"self":[{"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts\/540"}],"collection":[{"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/comments?post=540"}],"version-history":[{"count":0,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts\/540\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/media\/532"}],"wp:attachment":[{"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/media?parent=540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/categories?post=540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/tags?post=540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}