crontab desde linea de comando

Horst von Brand vonbrand en inf.utfsm.cl
Jue Feb 24 21:47:53 CLST 2005


Manuel Alejandro Cano Olivares <manuel.cano.o en mail.ucv.cl> dijo:
> At 05:40 p.m. 24-02-05 +0000, you wrote:
> >hola listeros,
> >alguién sabe como ingresar un evento crontab directamente desde la línea
> >de comandos (sin ingresar al editor, para programarlo).

> >La idea es ingresar los eventos vía una pagina web e ingresarlos vía un
> >script.

> echo "0 1 * * * tarea" >> /var/spool/cron/tabs/$USER
> (en suse)

Echa a perder las cosas (cualquier Unix)

Hacer esto es un *crimen*, es /por algo/ que existe el comando crontab(1).
Por lo demas, es bien probable que cron(8) ni se de cuenta del nuevo
comando.

Si quieres hacer el equivalente:

  f=$(mktemp)
  crontab -l > $f
  echo "0 1 * * * tarea" >> $f
  crontab $f

Aunque para ir a la segura que no hay modificaciones simultaneas tal vez
debas hacerlo via el editor, con alguna cosa como (no probado!):

  EDITOR=ed crontab -e <<EOF
  $a
  0 1 * * * tarea
  .
  wq
  EOF

(ed(1), crontab(1), bash(1))

Notese que hay miles de maneras de engan~ar a cron(8) para que ejecute
cosas no deseadas, asi que debieras filtrar el comando con mucho cuidado (O
confiar ciegamente.... Nope. Filtrar cuidadosamente.)
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513


Más información sobre la lista de distribución Linux