{"id":2027,"date":"2024-08-22T15:41:05","date_gmt":"2024-08-22T20:41:05","guid":{"rendered":"https:\/\/zidrave.net\/?p=2027"},"modified":"2024-08-22T15:41:05","modified_gmt":"2024-08-22T20:41:05","slug":"como-poner-un-script-python-en-ejecucion-automatica","status":"publish","type":"post","link":"https:\/\/zidrave.net\/index.php\/2024\/08\/22\/como-poner-un-script-python-en-ejecucion-automatica\/","title":{"rendered":"Como poner un Script Python en ejecucion automatica"},"content":{"rendered":"\n<p>Bueno este es una miniguia para poner nuestros scripts siempre activos aun cuando reinicies el server este tendria que volver a activarse.<\/p>\n\n\n\n<p>En mi caso particular lo uso para mantener online mi bot discord basado en python3:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" data-id=\"267\" src=\"https:\/\/zidrave.net\/wp-content\/uploads\/2023\/10\/10-claves-ser-buen-programador-2023-1024x683.jpg\" alt=\"10 claves para ser un buen programador en 2023\" class=\"wp-image-267\" srcset=\"https:\/\/zidrave.net\/wp-content\/uploads\/2023\/10\/10-claves-ser-buen-programador-2023-1024x683.jpg 1024w, https:\/\/zidrave.net\/wp-content\/uploads\/2023\/10\/10-claves-ser-buen-programador-2023-300x200.jpg 300w, https:\/\/zidrave.net\/wp-content\/uploads\/2023\/10\/10-claves-ser-buen-programador-2023-768x512.jpg 768w, https:\/\/zidrave.net\/wp-content\/uploads\/2023\/10\/10-claves-ser-buen-programador-2023-507x338.jpg 507w, https:\/\/zidrave.net\/wp-content\/uploads\/2023\/10\/10-claves-ser-buen-programador-2023.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>Primero creamos un archivo desde nuestra terminal linux:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/systemd\/system\/my_discord_bot.service<\/code><\/pre>\n\n\n\n<p>Ahora agregaremos el siguiente texto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=My Discord Bot\nAfter=network.target\n\n&#91;Service]\nType=simple\nUser=Mi_usuario_linux\nWorkingDirectory=\/home\/zidrave\/XXX\/botdiscord \nExecStart=ExecStart=\/usr\/bin\/python3 mybot.py\nRestart=always\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<p>Ahora explicaremos las opciones que debes modificar:<\/p>\n\n\n\n<p><em><strong>User=(aqui va tu usuario de linux)<br>WorkingDirectory=(aqui va la ruta completa de la carpeta donde tienes tu script sin \/ al final)<br>ExecStart=(aqui el interprete python en mi caso es python3 y el archivo o script .py)<\/strong><\/em><\/p>\n\n\n\n<p>Luego de eso carga el archivo de unidad:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload\nsudo systemctl enable my_discord_bot<\/code><\/pre>\n\n\n\n<p>Ahora iniciamos servicio manualmente con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl start my_discord_bot<\/code><\/pre>\n\n\n\n<p>Con eso ya tendria que funcionar todo y al apagar y prender el server este se iniciaria automaticamente.<\/p>\n\n\n\n<p>si no ejecuta puedes ver si tienes errores en el log del servicio con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo journalctl -u my_discord_bot.service<\/code><\/pre>\n\n\n\n<p>si deseas detener el servicio para cambios en el script puedes hacerlo asi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl stop my_discord_bot<\/code><\/pre>\n\n\n\n<p>Si deseas ver su estado es con esto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status my_discord_bot<\/code><\/pre>\n\n\n\n<p>y si deseas reiniciar script\/servicio es con esto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart my_discord_bot<\/code><\/pre>\n\n\n\n<p>Lo ideal en caso de ediciones posteriores es detenerlo e iniciarlo manualmente con el comando \u00abpython3 script.py\u00bb ver si hace todo lo que querias que haga y una vez seguro que ya funciona todo lo terminas con Control+C y luego lo inicias como servicio.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bueno este es una miniguia para poner nuestros scripts siempre<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[3193,4441],"tags":[4446,4445,2817,4444,4443,4447,4442,3431],"class_list":["post-2027","post","type-post","status-publish","format-standard","hentry","category-linux","category-programacion","tag-bash","tag-codeo","tag-python","tag-python3","tag-raspberry","tag-script","tag-sudo","tag-terminal"],"_links":{"self":[{"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/posts\/2027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/comments?post=2027"}],"version-history":[{"count":1,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/posts\/2027\/revisions"}],"predecessor-version":[{"id":2028,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/posts\/2027\/revisions\/2028"}],"wp:attachment":[{"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/media?parent=2027"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/categories?post=2027"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/tags?post=2027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}