Para crontabs de usuario (incluido el root), puede hacer algo como:
crontab -l -u user | cat - filename | crontab -u user -
donde el archivo llamado "nombre de archivo" contiene elementos para agregar. También podría manipular texto usando sed
u otra herramienta en lugar de cat
. Debes usar el crontab
comando en lugar de modificar directamente el archivo.
Una operación similar sería:
{ crontab -l -u user; echo 'crontab spec'; } | crontab -u user -
Si está modificando o creando crontabs del sistema, se pueden manipular como lo haría con los archivos de texto ordinarios. Se almacenan en el /etc/cron.d
, /etc/cron.hourly
, /etc/cron.daily
, /etc/cron.weekly
, /etc/cron.monthly
directorios y en los archivos /etc/crontab
y /etc/anacrontab
.
Aquí hay una línea que no usa/requiere que el nuevo trabajo esté en un archivo:
(crontab -l 2>/dev/null; echo "*/5 * * * * /path/to/job -with args") | crontab -
El 2>/dev/null
es importante para que no obtenga el no crontab for username
mensaje que producen algunos *nixes si actualmente no hay entradas de crontab.