<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Planificador_de_tarefas%3A_cron</id>
	<title>Planificador de tarefas: cron - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Planificador_de_tarefas%3A_cron"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Planificador_de_tarefas:_cron&amp;action=history"/>
	<updated>2026-10-21T11:55:29Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Planificador_de_tarefas:_cron&amp;diff=61346&amp;oldid=prev</id>
		<title>Antonio: /* Tarefas programadas de usuarios */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Planificador_de_tarefas:_cron&amp;diff=61346&amp;oldid=prev"/>
		<updated>2017-01-17T00:04:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Tarefas programadas de usuarios&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Imagen:Platega_U910_Server_Cron_00.jpeg|right|thumb|200px|Chronos esperando no [http://es.wikipedia.org/wiki/Cementerio_monumental_de_Staglieno Cemiterio Monumental Xenovés de Staglieno].]]&lt;br /&gt;
&lt;br /&gt;
Para programar/planificar tarefas con certa periodicidade ou en certas datas en GNU/Linux úsase o servizo  [http://es.wikipedia.org/wiki/Cron_(Unix) cron]. O nome de &amp;#039;&amp;#039;&amp;#039;cron&amp;#039;&amp;#039;&amp;#039; vén do grego [http://es.wikipedia.org/wiki/Chronos Chronos].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introdución==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Cron&amp;#039;&amp;#039;&amp;#039; é un servizo que corre en segundo plano e que executa tarefas cada certo tempo (&amp;#039;&amp;#039;/etc/init.d/cron&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Cron&amp;#039;&amp;#039;&amp;#039; le ficheiros chamados &amp;#039;&amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;&amp;#039; (CRON TABle), nos que se almacenan as tarefas a executar e cando se deben executar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Cada usuario pode ter o seu propio ficheiro &amp;#039;&amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;&amp;#039;, onde pode especificar as accións que desexa levar a cabo e as veces que deberían ser executadas. Ollo!!! as accións que se especifiquen levaranse a acabo se o usuario ten permisos para realizalas e se ten permitido ter un ficheiro &amp;#039;&amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;&amp;#039; (Por defecto todo usuario ten dereito).&lt;br /&gt;
**Se o usuario non está logueado realizaranse igualmente as tarefas especificadas no seu ficheiro &amp;#039;&amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
**Os ficheiros &amp;#039;&amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;&amp;#039; de cada usuario almacénase en &amp;#039;&amp;#039;&amp;#039;/var/spool/cron/crontabs/&amp;lt;nome de usuario&amp;gt; &amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
**Existe, tamén, un ficheiro &amp;#039;&amp;#039;&amp;#039;crontab do sistema&amp;#039;&amp;#039;&amp;#039;, este almacénase en &amp;#039;&amp;#039;&amp;#039;/etc/crontab&amp;#039;&amp;#039;&amp;#039;. Nel, ao igual que nos outros, indícanse as tarefas a realizar, cando executalas e &amp;#039;&amp;#039;&amp;#039;usuario&amp;#039;&amp;#039;&amp;#039; que as debe executar. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Os usuarios que poden, ou non, executar tarefas programadas están nas seguintes listas:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;/etc/cron.allow&amp;#039;&amp;#039;&amp;#039; (permitir)&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;/etc/cron.deny&amp;#039;&amp;#039;&amp;#039; (denegar)&lt;br /&gt;
**Estes dous ficheiros non existen inicialmente nun sistema Debian, por tanto todo usuario pode executar tarefas programadas. Tan pronto como exista un deses ficheiro aplícase a permisión/denegación:&lt;br /&gt;
***Existe /etc/cron.allow e non /etc/cron.deny: só poden executar cron os usuarios que estean no ficheiro cron.allow.&lt;br /&gt;
***Existe /etc/cron.deny e non /etc/cron.allow: só poden executar cron os usuarios que NON estean no ficheiro cron.deny.&lt;br /&gt;
***Non existe ningún: todo usuario pode executar cron.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*No directorio &amp;#039;&amp;#039;&amp;#039;/etc/cron.d/&amp;#039;&amp;#039;&amp;#039; pódese almacenar ficheiros tipo crontab co mesmo formato quen ten o ficheiro /etc/crontab. É máis aconsellable crear crontabs en /etc/cron.d/ que modificar o ficheiro /etc/crontab, porque este pode ser modificado cando se realicen actualizacións de cron.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Se está instalada a utilidade &amp;#039;&amp;#039;&amp;#039;[https://linux.die.net/man/8/anacron anacron]&amp;#039;&amp;#039;&amp;#039; executaranse tódalas tarefas almacenadas en: &amp;#039;&amp;#039;/etc/cron.hourly&amp;#039;&amp;#039;, &amp;#039;&amp;#039;/etc/cron.dayly&amp;#039;&amp;#039;, &amp;#039;&amp;#039;/etc/cron.weekly&amp;#039;&amp;#039; e &amp;#039;&amp;#039;/etc/cron.monthly&amp;#039;&amp;#039;. A diferenza de &amp;#039;&amp;#039;&amp;#039;cron&amp;#039;&amp;#039;&amp;#039;,  se o ordenador estivo a apagado, ao acender mira se algunha tarefa deses directorios non foi executada no seu momento e procede con ela.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*O servizo de &amp;#039;&amp;#039;cron&amp;#039;&amp;#039; cada minuto revisa o ficheiro /etc/crontab e o contido das carpetas /var/spool/cron/crontabs, /etc/cron.hourly, /etc/cron.dayly, /etc/cron.weekly, /etc/cron.monthly e /etc/cron.d e se hai cambios, estes son cargados en memoria. Por iso, non é preciso reiniciar o servizo de &amp;#039;&amp;#039;cron&amp;#039;&amp;#039; cada vez que se modifique un ficheiro &amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; background:#E6ECFF; font-size:100%; border:1px solid #cccccc; text-align:left; padding:0.2em 0.4em; -moz-border-radius:6px&amp;quot;&amp;gt;[[Imagen:aprende.png|left]]&amp;#039;&amp;#039;&amp;#039;TAMÉN PODES VER...&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Pódese atopar axuda en:&lt;br /&gt;
*man cron&lt;br /&gt;
*man crontab    (axuda do comando).&lt;br /&gt;
*man 5 crontab (axuda do formato do ficheiro).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Estrutura dos ficheiros crontab==&lt;br /&gt;
*Cada ficheiro &amp;#039;&amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;&amp;#039;, ben do usuario ou ben do sistema, ten a maior parte das veces unha estrutura interna como a que segue:&lt;br /&gt;
&lt;br /&gt;
 # m h dom mon dow user    command&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;m:&amp;#039;&amp;#039;&amp;#039;   minutos             0-59 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;h:&amp;#039;&amp;#039;&amp;#039;   hora                0-23&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;dom:&amp;#039;&amp;#039;&amp;#039; día do mes          1-31&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;mon:&amp;#039;&amp;#039;&amp;#039; mes                 1-12 (ou 3 primeiras letras do nome)&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;dow:&amp;#039;&amp;#039;&amp;#039; día da semana:      0-7  (0 ou 7 é Domingo,  ou 3 primeiras letras do nome)&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;user:&amp;#039;&amp;#039;&amp;#039; usuario que executa o comando: non existe nos &amp;#039;&amp;#039;&amp;#039;crontab de usuario&amp;#039;&amp;#039;&amp;#039; (/var/spool/cron/crontabs/&amp;lt;nome usuario&amp;gt;).&amp;lt;br/&amp;gt;Si existe no &amp;#039;&amp;#039;&amp;#039;crontab do sistema&amp;#039;&amp;#039;&amp;#039; (/etc/crontab).&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;command:&amp;#039;&amp;#039;&amp;#039; comando a executar.&lt;br /&gt;
&lt;br /&gt;
A seguinte imaxe pode clarificar un chisco máis a estrutura e os posibles valores:&lt;br /&gt;
&lt;br /&gt;
[[Imagen:Platega_U910_Server_Cron_01.png|600px|frame|[http://www.linuxconfig.org/Linux_Cron_Guide Imaxe] tomada de http://www.linuxconfig.org]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Neste caso, esta sería a configuración do &amp;#039;&amp;#039;&amp;#039;crontab do sistema&amp;#039;&amp;#039;&amp;#039; (/etc/crontab), pois ten o campo &amp;#039;&amp;#039;&amp;#039;usuario&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Notar que cando se indica un asterisco (&amp;#039;&amp;#039;&amp;#039;*&amp;#039;&amp;#039;&amp;#039;) o campo toma todos os valores do rango, do primeiro ao último.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Están permitidas listas (usar comas ,), rangos (usar guións -) ou saltos (usar barra /) de números en cada un dos campos. Exemplos para o campo minutos:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;1,5,7,20:&amp;#039;&amp;#039;&amp;#039; a tarefa executarase neses minutos.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;0-5:&amp;#039;&amp;#039;&amp;#039; a tarefa executarase cada minuto, dende o minuto 0 ate o 5, ambos inclusive.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;0-6, 10-13,40:&amp;#039;&amp;#039;&amp;#039; combinación dos 2 anteriores.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;*/15:&amp;#039;&amp;#039;&amp;#039; a tarefa executarase cada 15 minutos.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;0,15,30,45:&amp;#039;&amp;#039;&amp;#039; fai o mesmo que o anterior.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;0-11/2:&amp;#039;&amp;#039;&amp;#039; a tarefa executarase cada 2 minutos dende o minuto 0 ó 10 (incluídos).&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;0,2,4,6,8,10:&amp;#039;&amp;#039;&amp;#039; fai o mesmo que anterior liña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Observar que o campo día está determinado por dous campos: dom (día do mes) e dow (día da semana). Se os dous teñen valor, o comando executarase cando CALQUERA dos campos coincidan co momento correcto. Exemplo:&lt;br /&gt;
 # m  h dom  mon dow command&lt;br /&gt;
   30 4 1,15  *   5  comando&lt;br /&gt;
&lt;br /&gt;
O comando executárase ás 4:30 am, os días 1 e 15 de cada mes ou calquera venres á mesma hora.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*No canto dos cinco primeiros campos pode aparecer unha das 8 cadeas especiais:&lt;br /&gt;
      cadea      significado                                m h dom mon down&lt;br /&gt;
      ------     -----------------------------------------------------------&lt;br /&gt;
      @reboot    Executar unha vez ó iniciar.&lt;br /&gt;
      @yearly    Executar unha vez ó ano, o 01/01/ano.=    “0 0 1   1   *&amp;quot;.&lt;br /&gt;
      @annually  O mesmo que @yearly.&lt;br /&gt;
      @monthly   Executar unha vez ó mes, o 01/mes/ano.=   &amp;quot;0 0 1   *   *&amp;quot;.&lt;br /&gt;
      @weekly    Executar unha vez á semana, o Domingo.=   &amp;quot;0 0 *   *   0&amp;quot;.&lt;br /&gt;
      @daily     Executar unha vez ó día, ás 12 da noite.= &amp;quot;0 0 *   *   *&amp;quot;.&lt;br /&gt;
      @midnight  O mesmo que @daily.&lt;br /&gt;
      @hourly    Executar cada hora en punto.= 		  &amp;quot;0 * *   *   *&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Envío de correo===&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cron&amp;#039;&amp;#039;&amp;#039; envía ao usuario dono da tarefa (root@localhost, usuario@localhost) que se executa programadamente un correo coa saída da tarefa ou dos comandos da tarefa, se teñen. Para que se poida facer o envío do correo hai que ter instalada unha utilidade de mail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;cron&amp;#039;&amp;#039; envia o correo ao dono da tarefa, coa saída desta, ou a quen se especifique no parámetro &amp;#039;&amp;#039;&amp;#039;MAILTO&amp;#039;&amp;#039;&amp;#039; do ficheiro &amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Que facer no caso de ter unha utilidade de mail e non se desexa que cron estea enviando unha mensaxe de correo coa saída da tarefa cada vez que se executa?:&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;comando &amp;amp;&amp;gt; /dev/null&amp;#039;&amp;#039;&amp;#039; ou &amp;#039;&amp;#039;&amp;#039;comando &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&amp;#039;&amp;#039;&amp;#039;: envía a saída do comando/erros a /dev/null.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;comando &amp;gt;&amp;gt; ruta/saida.txt 2&amp;gt;&amp;amp;1&amp;#039;&amp;#039;&amp;#039;: envía a saída do comando/erros ó ficheiro  saida.txt&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;MAILTO=””&amp;#039;&amp;#039;&amp;#039;: definir o parámetro do ficheiro &amp;#039;&amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;&amp;#039; a nada, e enviaráselle o correo á &amp;#039;&amp;#039;&amp;#039;ninguén&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Variables de entorno==&lt;br /&gt;
*Algunhas variables de entorno son iniciadas polo servizo &amp;#039;&amp;#039;cron&amp;#039;&amp;#039;. Cando se lanza unha tarefa programada estes son os seus valores por defecto. &lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;HOME&amp;#039;&amp;#039;&amp;#039;= colle o valor do ficheiro &amp;#039;&amp;#039;/etc/passwd&amp;#039;&amp;#039; do dono do crontab.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;LOGNAME&amp;#039;&amp;#039;&amp;#039;= colle o valor do ficheiro &amp;#039;&amp;#039;/etc/passwd&amp;#039;&amp;#039; do dono do crontab.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;PATH&amp;#039;&amp;#039;&amp;#039;=/usr/bin:/bin&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;SHELL&amp;#039;&amp;#039;&amp;#039;=/bin/sh&lt;br /&gt;
&lt;br /&gt;
Estes valores poden ser modificados ao inicio dun ficheiro crontab. E poden ser definidas outras novas variables, como: &amp;#039;&amp;#039;LANG&amp;#039;&amp;#039;, que por defecto é inglés. Se se desexase que a &amp;#039;&amp;#039;locale&amp;#039;&amp;#039; estivese en galego, indicar ao inicio do crontab:&lt;br /&gt;
 LANG=gl_ES.UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exemplos de ficheiros crontab===&lt;br /&gt;
Antes de entrar en materia e realizar tarefas programadas véxanse algúns exemplos destas. Ao final destes exemplos creranse varias tarefas programadas.&lt;br /&gt;
 &lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Exemplo de Ficheiro crontab dun usuario: /var/spool/cron/crontabs/&amp;lt;usuario&amp;gt;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 # Un ficheiro de usuario debe ser editado co comando crontab, logo verase.&lt;br /&gt;
  &lt;br /&gt;
 #Usar /bin/bash para executar os comandos, no canto do shell por defecto: /bin/sh&lt;br /&gt;
 SHELL=/bin/bash&lt;br /&gt;
 #&lt;br /&gt;
 # Enviar un correo, se estivera configurado, coa saída dos comandos a tres&lt;br /&gt;
 # usuarios, o último é un usuario local. Non importa que sexa o dono do crontab&lt;br /&gt;
 MAILTO=usuario@edu.xunta.es, user@gmail.com, usuario_local&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Executa o script &amp;#039;&amp;#039;&amp;quot;diario.job&amp;quot;&amp;#039;&amp;#039;, tódolos días, cada 5 minutos, despois da media&lt;br /&gt;
 # noite. A súa saída non é enviada ó correo senón que se envía ó ficheiro&lt;br /&gt;
 # saida.txt&lt;br /&gt;
   5 0 * * *       $HOME/bin/diario.job &amp;gt;&amp;gt; $HOME/saida.txt 2&amp;gt;&amp;amp;1&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 # Execútase a tarefa monthly ás 2:15pm do primeiro de cada mes, e envíase un&lt;br /&gt;
 # correo coa súa saída ós tres destinatarios de MAILTO.&lt;br /&gt;
   15 14 1 * *     $HOME/bin/monthly&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 # &lt;br /&gt;
 # Enviar un corre a xose as 10 pm ós días de semana:&lt;br /&gt;
   0 22 * * 1-5    mail -s &amp;quot;Son as 10pm&amp;quot; xose%Xose,%%Onde están os nenos?%&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Envía a saída do comando echo ós tres de MAILTO, tódolos días, cada 2 horas,&lt;br /&gt;
 # 23 minutos despois da hora.&lt;br /&gt;
  23 0-23/2 * * * echo &amp;quot;run 23 minutes after midn, 2am, 4am ..., everyday&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Envía a saída do comando echo ós tres de MAILTO, cada domingo ás 4:05 am.&lt;br /&gt;
 # 23 minutos despois da hora.&lt;br /&gt;
   5 4 * * sun     echo &amp;quot;run at 5 after 4 every sunday&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Envía o erro da saída do comando mkdir /u  ós tres de MAILTO, cada minuto.&lt;br /&gt;
 # Un usuario calquera non ten, por defecto, permisos para crear na raíz.&lt;br /&gt;
 # A mensaxe que enviaría sería algo como isto:&lt;br /&gt;
 #         mkdir: non se pode crear o directorio &amp;quot;/u&amp;quot;: Permission denied&lt;br /&gt;
    * * * * *  mkdir /u&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Exemplo de Ficheiro crontab de sistema: /etc/crontab&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 # Este ficheiro, ao igual que os crontabs que se creen dentro de /etc/cron.d/,&lt;br /&gt;
 # ten un campo de usuario, que indica que usuario executa ese comando.&lt;br /&gt;
  &lt;br /&gt;
 # Este ficheiro ou os crontabs de /etc/cron.d/ edítanse á man sen usuar o&lt;br /&gt;
 # comando crontab, como se verá máis adiante.&lt;br /&gt;
 &lt;br /&gt;
 # Non se recomenda que se modifique o ficheiro /etc/crontab, pois se se&lt;br /&gt;
 # actualiza o cron, pode ser que se actualice este ficheiro. Para tarefas&lt;br /&gt;
 # programadas do sistema créense ficheiros crontabs en /etc/cron.d/&lt;br /&gt;
 &lt;br /&gt;
 # Este é o contido real de /etc/crontab.&lt;br /&gt;
 #Definición de variables de entorno.&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 &lt;br /&gt;
 # run-parts: executa programas ou scripts dun directorio.&lt;br /&gt;
 # m h dom mon dow user	command&lt;br /&gt;
 &lt;br /&gt;
   17 *	* * *	root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 # Comproba se existe o comando &amp;#039;&amp;#039;&amp;#039;anacron&amp;#039;&amp;#039;&amp;#039; run&lt;br /&gt;
   25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
   47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
   52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # A modo de exemplo vaise engadir unha entrada neste ficheiro, cousa non&lt;br /&gt;
 # aconsellable, é mellor crear un ficheiro tipo crontab en /etc/cron.d/&lt;br /&gt;
 &lt;br /&gt;
 MAILTO=usuario@edu.xunta.es, user@gmail.com, usuario_local&lt;br /&gt;
&lt;br /&gt;
 # Envía a saída do comando (o espazo que consumen as carpetas persoais dos&lt;br /&gt;
 # usuarios LDAP) ós tres de MAILTO. Ás 2am de cada día.&lt;br /&gt;
   * 2 * * * root du -h --max-depth=1 /home/iescalquera&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Crear tarefas programadas: liña comandos==&lt;br /&gt;
Vistos os exemplos anteriores vanse realizar varias tarefas programadas en &amp;#039;&amp;#039;dserver00&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tarefas programadas de usuarios===&lt;br /&gt;
Usar o comando &amp;#039;&amp;#039;&amp;#039;crontab&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;crontab [-u usuario] { -e | -l | -r }&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 # Parámetros&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;-u:&amp;#039;&amp;#039;&amp;#039; para editar o crontab dun usuario distinto ó actual.&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;-e:&amp;#039;&amp;#039;&amp;#039; edita o ficheiro crontab de usuario&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;-l:&amp;#039;&amp;#039;&amp;#039; lista o ficheiro crontab de usuario&lt;br /&gt;
 # &amp;#039;&amp;#039;&amp;#039;-r:&amp;#039;&amp;#039;&amp;#039; borra o ficheiro crontab de usuarios&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;A miña primeira tarefa programada:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Crear unha tarefa programada que cada minuto escriba nun ficheiro o nome do usuario, o seu &amp;#039;&amp;#039;home&amp;#039;&amp;#039;, e a data completa.&lt;br /&gt;
&lt;br /&gt;
*En &amp;#039;&amp;#039;&amp;#039;dserver00&amp;#039;&amp;#039;&amp;#039;, entramos co usuario administrador ou nos pasamos a el dende root&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;su - administrador&lt;br /&gt;
&lt;br /&gt;
Editamos o ficheiro crontab do usuario &amp;#039;&amp;#039;administrador&amp;#039;&amp;#039;. Non hai en &amp;#039;&amp;#039;/var/spool/cron/crontabs&amp;#039;&amp;#039; ningún ficheiro crontab para o administrador así que o comando vai crear un ficheiro novo automaticamente usando o comando &amp;#039;&amp;#039;nano&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
administrador@dserver00:~$ crontab -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Na tarefa programada introducir:&lt;br /&gt;
 # m h  dom mon dow   command&lt;br /&gt;
   * *   *   *   *    echo &amp;quot;$LOGNAME, $HOME &amp;quot; `date`&amp;gt;&amp;gt;ficheiro.txt &lt;br /&gt;
&lt;br /&gt;
*Notar que ao ficheiro non se lle puxo a ruta. A ruta que tomará por defecto é o home do usuario, pois esa tarefa execútase no contorno do usuario administrador. Sería equivalente a escribir &amp;#039;&amp;#039;$HOME/ficheiro.txt&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*En &amp;#039;&amp;#039;&amp;#039;/var/spool/cron/crontabs/administrador&amp;#039;&amp;#039;&amp;#039; foi onde se gardou o contido da tarefa programada do usuario administrador. Podemos vela usando o usuario &amp;#039;&amp;#039;root&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
root@dserver00:/home/administrador# ls /var/spool/cron/crontabs/ -l&lt;br /&gt;
total 4&lt;br /&gt;
-rw------- 1 administrador crontab 1153 Mai  9 00:59 administrador&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Pasados uns minutos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
administrador@dserver00:~$ cat ficheiro.txt &lt;br /&gt;
administrador, /home/administrador  Ven Mai 9 01:00:01 CEST 2014&lt;br /&gt;
administrador, /home/administrador  Ven Mai 9 01:01:01 CEST 2014&lt;br /&gt;
administrador, /home/administrador  Ven Mai 9 01:02:01 CEST 2014&lt;br /&gt;
administrador, /home/administrador  Ven Mai 9 01:03:01 CEST 2014&lt;br /&gt;
 &lt;br /&gt;
administrador@dserver00:~$ date&lt;br /&gt;
Ven Mai  9 01:04:09 CEST 2014&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Notar como o comando date executado na tarefa programada pon o día en galego. Imos configurar un idioma diferente.&lt;br /&gt;
&lt;br /&gt;
*Configurar a variable de entorno na tarefa programada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
administrador@dserver00:~$ crontab -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Engadir: LANG=gl_ES.UTF-8 (revisar o comando &amp;#039;&amp;#039;locale&amp;#039;&amp;#039;).&lt;br /&gt;
 LANG=es_ES.UTF-8&lt;br /&gt;
 &lt;br /&gt;
 # m h  dom mon dow   command&lt;br /&gt;
   * *   *   *   *    echo &amp;quot;$LOGNAME, $HOME &amp;quot; `date`&amp;gt;&amp;gt;ficheiro.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Pasados uns minutos, observar a última liña.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
administrador@dserver00:~$ cat ficheiro.txt &lt;br /&gt;
administrador, /home/administrador  Ven Mai 9 01:00:01 CEST 2014&lt;br /&gt;
administrador, /home/administrador  Ven Mai 9 01:01:01 CEST 2014&lt;br /&gt;
administrador, /home/administrador  Ven Mai 9 01:02:01 CEST 2014&lt;br /&gt;
administrador, /home/administrador  Ven Mai 9 01:03:01 CEST 2014&lt;br /&gt;
administrador, /home/administrador  Ven Mai 9 01:04:01 CEST 2014&lt;br /&gt;
administrador, /home/administrador  vie may 9 01:05:01 CEST 2014&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039; A segunda tarefa programada: script&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Trátase de facer o mesmo que no caso anterior, pero que o comando a executar sexa un script: &lt;br /&gt;
&lt;br /&gt;
 nano diahora.sh&lt;br /&gt;
&lt;br /&gt;
*Editar o seu contido:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;$LOGNAME, $HOME &amp;quot; `date`&amp;gt;&amp;gt;ficheiro2.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Editar o crontab de administrador e modificar o seu contido:&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
*Editar contido:&lt;br /&gt;
 LANG=es_ES.UTF-8&lt;br /&gt;
 &lt;br /&gt;
 # m h  dom mon dow   command&lt;br /&gt;
  * *   *   *   *    sh diahora.sh # Segunda tarefa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Pasados uns minutos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
administrador@dserver00:~$ cat ficheiro2.txt &lt;br /&gt;
administrador, /home/administrador  vie may 9 01:16:01 CEST 2014&lt;br /&gt;
administrador, /home/administrador  vie may 9 01:17:01 CEST 2014&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Terceira tarefa programada&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Quérese recibir un correo cada minuto coa mesma información anterior e ademais co contido de /root.&lt;br /&gt;
*Crear un script:&lt;br /&gt;
 nano diahora_mail.sh&lt;br /&gt;
&lt;br /&gt;
*Contido:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;$LOGNAME, $HOME &amp;quot; `date`&lt;br /&gt;
ls /root&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
*Observar que as saídas dos comandos non se redireccionan a ningures. Ademais o usuario administrador non ten permisos para ver o contido de /root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Editar o crontab de administrador e modificar o seu contido:&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
*Editar contido:&lt;br /&gt;
 LANG=gl_ES.UTF-8&lt;br /&gt;
 &lt;br /&gt;
 # m h  dom mon dow   command&lt;br /&gt;
  * *   *   *   *    sh diahora_mail.sh # Terceira tarefa&lt;br /&gt;
&lt;br /&gt;
*Pasado un minuto, consultamos o &amp;#039;&amp;#039;mail&amp;#039;&amp;#039; do usuario administrador co comando &amp;#039;&amp;#039;&amp;#039;mail&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
administrador@dserver00:~$ mail&lt;br /&gt;
Mail version 8.1.2 01/15/2001.  Type ? for help.&lt;br /&gt;
&amp;quot;/var/mail/administrador&amp;quot;: 1 message 1 new&lt;br /&gt;
&amp;gt;N  1 root@derver00.ies  Fri May 09 01:21   23/1059  Cron &amp;lt;administrador@dserver&lt;br /&gt;
&amp;amp; 1  &lt;br /&gt;
Message 1:&lt;br /&gt;
From administrador@derver00.iescalquera.local Fri May 09 01:21:02 2014&lt;br /&gt;
Envelope-to: administrador@derver00.iescalquera.local&lt;br /&gt;
Delivery-date: Fri, 09 May 2014 01:21:02 +0200&lt;br /&gt;
From: root@derver00.iescalquera.local (Cron Daemon)&lt;br /&gt;
To: administrador@derver00.iescalquera.local&lt;br /&gt;
Subject: Cron &amp;lt;administrador@dserver00&amp;gt; sh diahora_mail.sh&lt;br /&gt;
Content-Type: text/plain; charset=UTF-8&lt;br /&gt;
X-Cron-Env: &amp;lt;LANG=es_ES.UTF-8&amp;gt;&lt;br /&gt;
X-Cron-Env: &amp;lt;SHELL=/bin/sh&amp;gt;&lt;br /&gt;
X-Cron-Env: &amp;lt;HOME=/home/administrador&amp;gt;&lt;br /&gt;
X-Cron-Env: &amp;lt;PATH=/usr/bin:/bin&amp;gt;&lt;br /&gt;
X-Cron-Env: &amp;lt;LOGNAME=administrador&amp;gt;&lt;br /&gt;
Date: Fri, 09 May 2014 01:21:02 +0200&lt;br /&gt;
&lt;br /&gt;
administrador, /home/administrador  vie may 9 01:21:01 CEST 2014&lt;br /&gt;
ls: no se puede abrir el directorio /root: Permiso denegado&lt;br /&gt;
&lt;br /&gt;
&amp;amp;q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Observar como amosa a saída dos dous comandos:&lt;br /&gt;
**echo, saída correcta&lt;br /&gt;
**ls /root: saída con erros, porque o usuario non pode acceder a /root.&lt;br /&gt;
&lt;br /&gt;
===Editar tarefas programadas doutros usuarios===&lt;br /&gt;
Só o pode facer o administrador do sistema (root ou pertencentes a sudoers).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
root@dserver00:~# crontab -u sol -e&lt;br /&gt;
no crontab for sol - using an empty one&lt;br /&gt;
crontab: installing new crontab&lt;br /&gt;
root@dserver00:~# ls /var/spool/cron/crontabs/ -l&lt;br /&gt;
total 8&lt;br /&gt;
-rw------- 1 administrador crontab 1145 Mai  9 01:26 administrador&lt;br /&gt;
-rw------- 1 sol           crontab 1153 Mai  9 01:27 sol&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Borrar tarefas programadas de usuarios==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
root@dserver00:~# crontab -u sol -r&lt;br /&gt;
root@dserver00:~# &lt;br /&gt;
root@dserver00:~# ls /var/spool/cron/crontabs/ -l&lt;br /&gt;
total 4&lt;br /&gt;
-rw------- 1 administrador crontab 1145 Mai  9 01:26 administrador&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tarefas programadas de sistema==&lt;br /&gt;
Estas poden ser creadas cun editor calquera, modificando o ficheiro &amp;#039;&amp;#039;&amp;#039;/etc/crontab&amp;#039;&amp;#039;&amp;#039; ou creando un ficheiro crontab no directorio &amp;#039;&amp;#039;&amp;#039;/etc/cron.d/&amp;#039;&amp;#039;&amp;#039;.  Isto último é o aconsellable. Lembrar que hai que especificar o usuario.&lt;br /&gt;
&lt;br /&gt;
Se se desexa que se execute un script, este debe residir nun sitio accesible para o usuario que o executa.&lt;br /&gt;
&lt;br /&gt;
Exemplo de entradas en /etc/crontab ou /etc/cron.d/tarefa&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;nano /etc/cron.d/tarefa&lt;br /&gt;
&lt;br /&gt;
*O contido&lt;br /&gt;
&lt;br /&gt;
 # m  h  dom mon dow user            command&lt;br /&gt;
   *  *   *   *   *   administrador  echo ola&amp;gt;&amp;gt;ficheiro4.txt&lt;br /&gt;
   30 23  *   *   *   root           /usr/local/sbin/backup.sh&lt;br /&gt;
   @reboot  	     root           ntpdate es.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- [[Usuario:antonio| Antonio de Andrés Lema]] e [[Usuario:Carrion| Carlos Carrión Álvarez]]&lt;/div&gt;</summary>
		<author><name>Antonio</name></author>
	</entry>
</feed>