A forma mais eficiente de editar mais de um arquivo durante a instalação é definir uma classe e fornecer um script de ação de classe. Se você usou a abordagem da classe build, será necessário distribuir um script de classe build para cada arquivo crontab editado. A definição de uma classe cron proporciona uma abordagem mais geral. Para editar arquivos crontab com esta abordagem, você deve:
Definir os arquivos crontab que serão editados no arquivo prototype.
Criar uma entrada no arquivo prototype para o arquivo crontab que será editado. Definir a classe como cron e o tipo de arquivo como e de cada arquivo. Usar o nome real do arquivo a ser editado.
Criar os arquivos crontab no pacote.
Estes arquivos contêm as informações que você deseja adicionar aos arquivos crontab existentes de mesmo nome.
Criar um script de ação de classe de instalação para a classe cron.
O script i.cron de amostra realiza os seguintes procedimentos:
Determina o ID de usuário (UID).
O script i.cron define a variável user como o nome base do script de classe cron que está sendo processado. Tal nome é o UID. Por exemplo, o nome base de /var/spool/cron/crontabs/root é root, que também é o UID.
Executa o crontab usando o UID e a opção - l.
A opção -l diz ao crontab para enviar o conteúdo do arquivo crontab do usuário definido para a saída padrão.
Conduz a saída do comando crontab ao script sed que remove as entradas adicionadas anteriormente com esta técnica de instalação.
Coloca a saída editada em um arquivo temporário.
Adiciona o arquivo de dados do UID root (distribuído com o pacote) ao arquivo temporário e adiciona uma marca para que você saiba de onde provêm estas entradas.
Executa o crontab com o mesmo UID e o fornece ao arquivo temporário como entrada.
Criar um script de ação de classe de remoção cron.
O script r.cron é semelhante ao script de instalação, exceto que não há nenhum procedimento para adicionar informações ao arquivo crontab.
Estes procedimentos são realizados por todos os arquivos na classe cron.