{"id":29905,"date":"2023-03-21T15:45:05","date_gmt":"2023-03-21T14:45:05","guid":{"rendered":"\/tutoriales\/?p=29905"},"modified":"2025-03-19T18:25:15","modified_gmt":"2025-03-19T17:25:15","slug":"sintaxis-crontab","status":"publish","type":"post","link":"\/es\/tutoriales\/sintaxis-crontab\/","title":{"rendered":"Qu\u00e9 es la sintaxis Crontab: Crontab en Linux y ejemplos \u00fatiles"},"content":{"rendered":"<p class=\"wp-block-paragraph\">La automatizaci&oacute;n es uno de los aspectos clave de cualquier sistema, ya sea un servidor f&iacute;sico o un servidor privado virtual (VPS). <\/p><p class=\"wp-block-paragraph\">Si la automatizaci&oacute;n se configura correctamente, puedes ahorrar cientos de horas preciosas para el usuario y hacer que el flujo de trabajo general sea mucho m&aacute;s eficiente. Una de las herramientas clave para programar tareas es <strong>cron<\/strong>.<\/p><p class=\"wp-block-paragraph\">En este tutorial, vamos a cubrir la sintaxis Crontab, veremos un resumen de las diferencias entre cron job, cron y crontab, y te mostraremos algunos casos de uso &uacute;tiles cron jobs para un sistema operativo basado en Linux.<\/p><p class=\"wp-block-paragraph\"><strong>Breve descripci&oacute;n de la sintaxis de Crontab:<\/strong><\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Conocimientos necesarios<\/td><td>Conocimientos b&aacute;sicos de la l&iacute;nea de comandos de Linux, programaci&oacute;n de tareas<\/td><\/tr><tr><td>Privilegios Requeridos<\/td><td>Privilegios de usuario, root para ciertas operaciones<\/td><\/tr><tr><td>Dificultad<\/td><td>Principiante<\/td><\/tr><tr><td>Objetivo principal<\/td><td>Comprender y utilizar la sintaxis de Crontab, configurar tareas cron<\/td><\/tr><tr><td>Compatibilidad con SO<\/td><td>Sistemas basados en Linux<\/td><\/tr><\/tbody><\/table><\/figure><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Linux-Commands-Cheatsheet-ES.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-26004\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p class=\"wp-block-paragraph\"><\/p><p class=\"wp-block-paragraph\"><div class=\"protip\"><div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                   &iquest;Qu&eacute; es la sintaxis Crontab?\n                <\/p>\n            <\/div>\n            <p class=\"protip__content\">La<strong> tabla cron <\/strong>o <strong>Crontab <\/strong>es un archivo que contiene todas las programaciones de las tareas cron que un usuario desea ejecutar regularmente. Los comandos se escriben uno por l&iacute;nea y ordenan al cron daemon que ejecute una tarea a una hora determinada.<\/p><\/div><\/p><h2 class=\"wp-block-heading\" id=\"h-que-es-crontab-y-cron-job\">&iquest;Qu&eacute; es Crontab y Cron Job?<\/h2><p class=\"wp-block-paragraph\">En cuanto a los cron jobs, cabe destacar tres t&eacute;rminos:<\/p><ul class=\"wp-block-list\">\n<li><strong>Cron daemon (crond) o simplemente cron <\/strong>es un ejecutable que permite a los usuarios realizar tareas y ejecutarlas autom&aacute;ticamente a una hora determinada.<\/li>\n\n\n\n<li><strong>Cron job<\/strong> es cualquier tarea que un usuario programe utilizando <a href=\"\/es\/tutoriales\/cron-job\/\">cron<\/a>.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-formato-y-valores-de-crontab\">Formato y valores de Crontab<\/h2><p class=\"wp-block-paragraph\">Para que el cron daemon comprenda correctamente las instrucciones, debe utilizarse la sintaxis crontab correcta. La sintaxis de crontab consta de cinco campos. Cada uno de ellos puede rellenarse con cualquiera de los valores que se muestran en la siguiente tabla:<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>Campo<\/strong><\/td><td><strong>Valores posibles<\/strong><\/td><\/tr><tr><td>Minuto<\/td><td>0-59<\/td><\/tr><tr><td>Hora<\/td><td>0-23<\/td><\/tr><tr><td>D&iacute;a del mes<\/td><td>1-31<\/td><\/tr><tr><td>Mes<\/td><td>1-12<\/td><\/tr><tr><td>D&iacute;a de la semana<\/td><td>0-6. 0 representa el domingo. En algunos sistemas, el valor 7 representa el domingo.<\/td><\/tr><tr><td>Comando<\/td><td>Orden a ejecutar<\/td><\/tr><\/tbody><\/table><\/figure><p class=\"wp-block-paragraph\">Aparte de los valores de crontab posibles, es necesario memorizar algunos caracteres especiales:<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>S&iacute;mbolo<\/strong><\/td><td><strong>Significado<\/strong><\/td><td><strong>Ejemplo<\/strong><\/td><\/tr><tr><td>* (asterisco)<\/td><td>Seleccionar todos los valores posibles de un campo<\/td><td>Coloca * en el campo <strong>hora <\/strong>para ejecutar la tarea cada hora<\/td><\/tr><tr><td>, (coma)<\/td><td>Se utiliza una coma para separar varios valores<\/td><td>0,3,5 en el campo <strong>d&iacute;a de la semana <\/strong>har&aacute; que la tarea se ejecute el domingo y el mi&eacute;rcoles<\/td><\/tr><tr><td>&ndash; (gui&oacute;n)<\/td><td>Permite fijar un intervalo de valores<\/td><td>10-15 en el campo <strong>d&iacute;a del mes <\/strong>ejecutar&aacute; la tarea desde el d&iacute;a 10 al 15 del mes<\/td><\/tr><tr><td>\/ (separador)<\/td><td>Se utiliza un separador para dividir los valores<\/td><td>*\/10 en el campo <strong>hora <\/strong>har&aacute; que la tarea se ejecute cada 10 horas<\/td><\/tr><tr><td>L<\/td><td>Se utiliza en los campos de <strong>d&iacute;a del mes <\/strong>o <strong>d&iacute;a de la semana<\/strong><\/td><td>1L en el campo <strong>d&iacute;a de la semana <\/strong>ejecutar&aacute; la tarea el &uacute;ltimo lunes de un mes determinado<\/td><\/tr><tr><td>W<\/td><td>W se utiliza para determinar el d&iacute;a de la semana m&aacute;s pr&oacute;ximo<\/td><td>0W en el campo <strong>d&iacute;a del mes <\/strong>har&aacute; que la tarea se ejecute el domingo m&aacute;s cercano de un mes determinado<\/td><\/tr><tr><td># (numeral)<\/td><td>Se utiliza para determinar el <strong>d&iacute;a de la semana<\/strong><\/td><td>2#3 en el campo <strong>d&iacute;a del mes <\/strong>har&aacute; que la tarea se ejecute el tercer martes del mes<\/td><\/tr><tr><td>? (signo de interrogaci&oacute;n)<\/td><td>Se utiliza en los campos de <strong>d&iacute;a del mes <\/strong>y <strong>d&iacute;a de la semana<\/strong><\/td><td>? en el campo <strong>del d&iacute;a del mes <\/strong>se leer&aacute; como <strong>sin valor espec&iacute;fico<\/strong><\/td><\/tr><\/tbody><\/table><\/figure><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>&iexcl;Importante!<\/strong> Ten en cuenta que todos los campos deben rellenarse al crear una tarea cron. Si no deseas especificar un campo, rell&eacute;nalo con el s&iacute;mbolo <strong>* (asterisco)<\/strong>.\n            <\/p><\/div><\/p><h2 class=\"wp-block-heading\" id=\"h-comandos-crontab\">Comandos Crontab<\/h2><p class=\"wp-block-paragraph\">S&oacute;lo se utilizan unos pocos comandos cron en la l&iacute;nea de comandos, lo que facilita la creaci&oacute;n, eliminaci&oacute;n y gesti&oacute;n de entradas cron:<\/p><ul class=\"wp-block-list\">\n<li><strong>crontab -e<\/strong>: se utiliza para editar crontabs del sistema. Este comando crear&aacute; un nuevo crontab si a&uacute;n no se ha hecho.<\/li>\n\n\n\n<li><strong>crontab -l<\/strong>: se utiliza para ver las entradas crontab (trabajos cron) y mostrar el contenido del archivo crontab del sistema.<\/li>\n\n\n\n<li><strong>crontab -r<\/strong>: eliminar&aacute; el archivo crontab actual.<\/li>\n\n\n\n<li><strong>crontab -i<\/strong>: mostrar&aacute; un aviso antes de eliminar el crontab de un usuario. Se recomienda utilizarlo junto con el indicador <strong>-r, <\/strong>convirti&eacute;ndolo en el indicador <strong>-ri<\/strong>.<\/li>\n<\/ul><figure class=\"wp-block-image size-large\"><a href=\"\/es\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-29287\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-como-utilizar-crontab-ejemplos-de-sintaxis-crontab\">C&oacute;mo utilizar Crontab: ejemplos de sintaxis Crontab<\/h2><p class=\"wp-block-paragraph\">En primer lugar, utiliza el comando crontab para crear tu primera entrada crontab:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">crontab -e<\/pre><p class=\"wp-block-paragraph\">Te pedir&aacute; que elijas un editor de texto. Te recomendamos usar <strong>nano<\/strong>, la primera opci&oacute;n en nuestro ejemplo:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"509\" height=\"178\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/ejemplo-nano.png\/public\" alt=\"Ejemplo Crontab con editor nano\" class=\"wp-image-43192\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/ejemplo-nano.png\/w=509,fit=scale-down 509w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/ejemplo-nano.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/ejemplo-nano.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 509px) 100vw, 509px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Despu&eacute;s, ser&aacute;s dirigido al archivo crontab. Para a&ntilde;adir nuevas entradas, simplemente elige una nueva l&iacute;nea y contin&uacute;a con el cronjob.<\/p><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>&iexcl;Importante!<\/strong> Ten en cuenta que crontab utiliza la fecha y hora actuales del sistema, lo que significa que la zona horaria se comparte con el sistema ra&iacute;z.\n            <\/p><\/div><\/p><h3 class=\"wp-block-heading\" id=\"h-programar-un-trabajo-para-una-hora-determinada\">Programar un trabajo para una hora determinada<\/h3><p class=\"wp-block-paragraph\">Una de las formas m&aacute;s sencillas de probar cron es programar una tarea para una hora determinada. Por ejemplo, la siguiente tarea cron ejecutar&aacute; nuestro <strong>script .sh <\/strong>a la hora especificada, que es el<strong> 15 de agosto <\/strong>a las<strong> 15:30<\/strong>.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">30 08 10 06 * cat \/helloworld.sh<\/pre><h3 class=\"wp-block-heading\" id=\"h-ver-entradas-crontab\">Ver entradas Crontab<\/h3><p class=\"wp-block-paragraph\">Dado que todas las tareas cron se almacenan en un archivo crontab, puedes ver las que ya se est&aacute;n ejecutando. Para ello, utiliza el siguiente comando para mostrar el contenido de tus archivos crontab:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">crontab -l<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"623\" height=\"499\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/Ver-entradas-Crontab.png\/public\" alt=\"Comando crontab para ver entradas\" class=\"wp-image-43194\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/Ver-entradas-Crontab.png\/w=623,fit=scale-down 623w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/Ver-entradas-Crontab.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/Ver-entradas-Crontab.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><\/figure>\n<\/div><h3 class=\"wp-block-heading\" id=\"h-editar-entradas-crontab\">Editar entradas Crontab<\/h3><p class=\"wp-block-paragraph\">Para modificar entradas crontab ya existentes, utiliza este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">crontab -e<\/pre><h3 class=\"wp-block-heading\" id=\"h-programar-un-trabajo-para-cada-minuto\">Programar un trabajo para cada minuto<\/h3><p class=\"wp-block-paragraph\">No supone ning&uacute;n esfuerzo programar tareas para que se ejecuten cada minuto. En el siguiente ejemplo, ordenaremos la ejecuci&oacute;n del comando cat para que se ejecute peri&oacute;dicamente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">* * * * * cat \/home\/helloworld.sh<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"627\" height=\"503\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/programar-crontab.png\/public\" alt=\"Programar una tarea cada minuto con comando cat\" class=\"wp-image-43195\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/programar-crontab.png\/w=627,fit=scale-down 627w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/programar-crontab.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/03\/programar-crontab.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 627px) 100vw, 627px\" \/><\/figure>\n<\/div><h3 class=\"wp-block-heading\" id=\"h-programar-un-trabajo-de-fondo-cada-dia\">Programar un trabajo de fondo cada d&iacute;a<\/h3><p class=\"wp-block-paragraph\">Para programar una tarea en segundo plano que se ejecute todos los d&iacute;as, puedes utilizar el comando cron <strong>@daily<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@daily cat \/home\/helloworld.sh<\/pre><p class=\"wp-block-paragraph\">Ten en cuenta que se va a ejecutar el script todos los d&iacute;as a las<strong> 12 de la ma&ntilde;ana<\/strong>.<\/p><h3 class=\"wp-block-heading\" id=\"h-programar-un-trabajo-para-un-intervalo-de-tiempo-determinado\">Programar un trabajo para un intervalo de tiempo determinado<\/h3><p class=\"wp-block-paragraph\">Es posible programar un trabajo para un intervalo de tiempo determinado. Por ejemplo, todos los d&iacute;as de la semana, incluidos los fines de semana, de <strong>8.00 <\/strong>a <strong>17.00<\/strong>. El resultado final ser&iacute;a el siguiente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">00 08-17 * * * cat \/home\/helloworld.sh<\/pre><p class=\"wp-block-paragraph\">Aqu&iacute; hay otro ejemplo del mismo cron, pero s&oacute;lo los fines de semana:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">00 08-17 * * 6-0 cat \/home\/helloworld.sh<\/pre><h3 class=\"wp-block-heading\" id=\"h-programar-un-cron-job-al-principio-de-cada-mes\">Programar un Cron Job al principio de cada mes<\/h3><p class=\"wp-block-paragraph\">Para programar un trabajo al principio de cada mes, puedes utilizar el operador <strong>@monthly<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@monthly cat \/home\/helloworld.sh<\/pre><p class=\"wp-block-paragraph\">Ten en cuenta que esto ejecutar&aacute; el trabajo a <strong>las 12am <\/strong>del primer d&iacute;a de cada mes. Del mismo modo, existe un operador <strong>@yearly <\/strong>que ejecutar&aacute; el trabajo el <strong>primer d&iacute;a <\/strong>de cada a&ntilde;o.<\/p><h3 class=\"wp-block-heading\" id=\"h-programar-un-trabajo-para-mas-de-una-vez\">Programar un trabajo para m&aacute;s de una vez<\/h3><p class=\"wp-block-paragraph\">Los usuarios pueden programar una tarea cron para que se ejecute m&aacute;s de una vez, por ejemplo, cinco veces al d&iacute;a. En el siguiente ejemplo, configuraremos un trabajo para que se ejecute a las <strong>12pm<\/strong>, <strong>3pm<\/strong>, <strong>5pm<\/strong>, <strong>7pm <\/strong>y <strong>9pm<\/strong>.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">0 12,15,17,19,21 * * * cat \/home\/helloworld.sh<\/pre><h3 class=\"wp-block-heading\" id=\"h-ejecutar-un-comando-linux-despues-de-cada-reinicio\">Ejecutar un comando Linux despu&eacute;s de cada reinicio<\/h3><p class=\"wp-block-paragraph\">De forma similar a los operadores <strong>@daily<\/strong>, <strong>@monthly <\/strong>y <strong>@yearly<\/strong>, <a href=\"\/es\/tutoriales\/bash-for-loop-guia-ejemplos\/\">bash<\/a> tambi&eacute;n viene con un comando <strong>@reboot<\/strong>. Los usuarios pueden utilizarlo para programar una tarea que se ejecutar&aacute; cada vez que el sistema se reinicie:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@reboot cat \/home\/helloworld.sh<\/pre><h3 class=\"wp-block-heading\" id=\"h-donde-se-encuentra-el-archivo-crontab\">&iquest;D&oacute;nde se encuentra el archivo Crontab?<\/h3><p class=\"wp-block-paragraph\">Dependiendo del sistema operativo, crontab estar&aacute; ubicado en tres lugares diferentes:<\/p><ul class=\"wp-block-list\">\n<li><strong>MacOS:<\/strong> \/var\/at\/tabs<\/li>\n\n\n\n<li><strong>Sistemas basados en Debian:<\/strong> \/var\/spool\/cron\/crontabs\/<\/li>\n\n\n\n<li><strong>Sistemas basados en Red Hat:<\/strong> \/var\/spool\/cron<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-acciones-adicionales-de-crontab\">Acciones adicionales de Crontab<\/h2><p class=\"wp-block-paragraph\">Aparte de la funcionalidad actual, crontab tambi&eacute;n es capaz de realizar acciones adicionales como crear un registro de ejecuci&oacute;n cron o desactivar las notificaciones por correo electr&oacute;nico. Consulta las secciones siguientes para obtener m&aacute;s informaci&oacute;n.<\/p><h3 class=\"wp-block-heading\" id=\"h-crear-un-archivo-de-registro\">Crear un archivo de registro<\/h3><p class=\"wp-block-paragraph\">La forma m&aacute;s sencilla de registrar todas las salidas de los trabajos cron es utilizar la siguiente l&oacute;gica:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">* * * * * cat \/home\/helloworld.sh &gt;&gt; \/var\/log\/logs.log 2&gt;&amp;1<\/pre><p class=\"wp-block-paragraph\">Este comando guardar&aacute; todas las salidas de los trabajos cron en un archivo llamado <strong>logs.log<\/strong><\/p><h3 class=\"wp-block-heading\" id=\"h-desactivar-correo-electronico\">Desactivar correo electr&oacute;nico<\/h3><p class=\"wp-block-paragraph\">Dado que cron env&iacute;a un correo electr&oacute;nico al usuario despu&eacute;s de cada trabajo, desactivar esta funcionalidad puede ser beneficioso para evitar el spam. S&oacute;lo tienes que a&ntilde;adir esta l&iacute;nea al final de tu trabajo cron:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&gt;\/dev\/null 2&gt;&amp;1<\/pre><h3 class=\"wp-block-heading\" id=\"h-entorno-crontab\">Entorno Crontab<\/h3><p class=\"wp-block-paragraph\">Crontab permite a sus usuarios definir <a href=\"\/es\/tutoriales\/variables-de-entorno-linux\/\">variables de entorno<\/a>. Esto puede hacerse con el comando <strong>crontab -e <\/strong>antes mencionado. Al definir variables, consulta la lista siguiente:<\/p><ul class=\"wp-block-list\">\n<li><strong>PATH<\/strong>: ruta por defecto para crontab.<\/li>\n\n\n\n<li><strong>SHELL: <\/strong>shell por defecto.<\/li>\n\n\n\n<li><strong>LOGNAME:<\/strong> propietario de crontab. La informaci&oacute;n se toma del directorio <strong>\/etc\/passwd<\/strong>.<\/li>\n\n\n\n<li><strong>HOME:<\/strong> directorio personal del usuario. La informaci&oacute;n se toma del directorio <strong>\/etc\/passwd<\/strong>.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi&oacute;n<\/h2><p class=\"wp-block-paragraph\">Los cron jobs son una de las mejores formas de realizar tareas programadas para <a href=\"\/es\/tutoriales\/que-es-un-vps\/\">instancias virtuales<\/a> y sistemas Linux f&iacute;sicos. Al ejecutar crontab, los usuarios pueden programar varias tareas para su sistema. <\/p><p class=\"wp-block-paragraph\">Por ejemplo, realizar el mantenimiento del sistema en un d&iacute;a concreto o incluso programarlo para que se ejecute todos los d&iacute;as de la semana.<\/p><p class=\"wp-block-paragraph\">En este tutorial, hemos cubierto la mayor&iacute;a de las operaciones de crontab. Tambi&eacute;n hemos proporcionado algunos ejemplos pr&aacute;cticos que puedes utilizar al crear un crontab.<\/p><p class=\"wp-block-paragraph\">Si tienes alguna pregunta o sugerencia para usar cron, no dudes en dejarla en la secci&oacute;n de comentarios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La automatizaci&oacute;n es uno de los aspectos clave de cualquier sistema, ya sea un servidor f&iacute;sico o un servidor privado virtual (VPS). Si la automatizaci&oacute;n se configura correctamente, puedes ahorrar cientos de horas preciosas para el usuario y hacer que el flujo de trabajo general sea mucho m&aacute;s eficiente. Una de las herramientas clave para [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/es\/tutoriales\/sintaxis-crontab\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":353,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"\u00bfQu\u00e9 es la sintaxis Crontab? Gu\u00eda completa con ejemplos","rank_math_description":"Aprende a usar la sintaxis Crontab para automatizar tareas en Linux. Te explicamos c\u00f3mo funciona con ejemplos pr\u00e1cticos.","rank_math_focus_keyword":"sintaxis crontab","footnotes":""},"categories":[5700],"tags":[],"class_list":["post-29905","post","type-post","status-publish","format-standard","hentry","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/crontab-syntax\/","default":1},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/sintaxis-crontab\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/what-is-crontab-syntax-understanding-crontab-on-linux-helpful-examples\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/what-is-crontab-syntax-understanding-crontab-on-linux-helpful-examples\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/crontab-syntax\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/crontab-syntax\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/crontab-syntax\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/crontab-syntax\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/crontab-syntax\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/sintaxis-crontab\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/sintaxis-crontab\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/sintaxis-crontab\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/29905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/users\/353"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/comments?post=29905"}],"version-history":[{"count":11,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/29905\/revisions"}],"predecessor-version":[{"id":46187,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/29905\/revisions\/46187"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media?parent=29905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/categories?post=29905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/tags?post=29905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}