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.