El modo más eficaz de modificar más de un archivo durante la instalación es definir una clase y ofrecer una secuencia de comandos de acción de clase. Si se ha servido de la aproximación a la clase build, debe entregar una secuencia de comandos de clase build para cada archivo crontab modificado. La definición de una clase cron proporciona una aproximación más general. Para editar los archivos crontab con esta aproximación, debe:
Definir los archivos crontab que se van a modificar en el archivo prototype.
Cree una entrada en el archivo prototype para cada archivo crontab que se modificará. Defina la clase como cron y el tipo de archivo como e para cada archivo. Use el nombre real del archivo que se va a modificar.
Crear los archivos crontab para el paquete.
Estos archivos contienen la información que desea agregar a los archivos crontab existentes del mismo nombre.
Crear una secuencia de comandos de acción de clase de instalación para la clase cron.
La secuencia de comandos i.cron de ejemplo ejecuta los procesos siguientes:
Determina el ID de usuario (UID).
La secuencia de comandos i.cron configura la variable usuario con el nombre base de la secuencia de comandos de clase cron que se está procesando. Ese nombre es el UID. Por ejemplo, el nombre base de /var/spool/cron/crontabs/root es raíz, además del UID.
Ejecuta crontab mediante el UID y la opción -l.
El uso de la opción -l indica a crontab que envíe el contenido del archivo crontab del usuario definido a la salida estándar.
Dirige la salida del comando crontab a una secuencia de comandos sed que suprime las entradas anteriores agregadas con esta técnica de instalación.
Coloca la salida modificada en un archivo temporal.
Agrega el archivo de datos del UID raíz (que se entregó con el paquete) al archivo temporal y agrega una etiqueta para que sepa de dónde vienen estas entradas.
Ejecuta crontab con el mismo UID y le entrega el archivo temporal como entrada de información.
Crear una secuencia de comandos de acción de clase de eliminación para la clase cron.
La secuencia de comandos r.cron es la misma que la secuencia de comandos de instalación excepto que no hay procesos para agregar información al archivo crontab.
Estos procesos se llevan a cabo para cada archivo en la clase cron.