PowerScale OneFS: como editar o Crontab
Résumé: O Crontab é um utilitário usado para Agendamento de Tarefas e Automação de Tarefas.
Instructions
Procedimento
Visualizar crontab Arquivos.
Execute o comando apropriado para visualizar todo o c do cluster (incluindo adições específicas do nó local) crontab Arquivo.
Para todo o cluster:
cat /etc/crontab
Apenas para o nó local crontab entradas adicionais (que são adicionadas a /etc/crontab Somente em um nó específico):
cat /etc/local/crontab.local
cron trabalhos, que é apropriado para um trabalho como TreeDelete, a /etc/local/crontab.local O arquivo deve ser criado. Consulte abaixo para obter mais informações.
O OneFS gera o /etc/crontab combinando o modelo padrão, /etc/mcp/override/crontab e /etc/local/crontab.local. Um exemplo de entrada crontab é exibido abaixo.
#minute hour mday month wday who command # # Nightly Health check update 0 1 * * * root /usr/bin/isi_healthcheck_update -s
A tabela a seguir explica os cabeçalhos das colunas:
|
nome do cabeçalho |
valor permitido |
caracteres especiais permitidos |
|---|---|---|
|
minute |
0-59 |
|
|
hour |
0-23 |
|
|
mday |
dia do mês, 1 a 31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Esta tabela explica os caracteres especiais:
|
Caractere especial |
Definição |
|---|---|
|
|
Os asteriscos são usados para indicar o |
|
|
As barras são usadas para descrever incrementos de intervalos. Por exemplo: |
|
|
Os sinais de porcentagem serão alterados para caracteres de nova linha nos comandos. |
|
|
Vírgulas são usadas para separar itens de uma lista. Por exemplo, THU, FRI, SAT. |
|
|
Hífens são usados para definir intervalos, como 200–205. |
|
|
Significa "último". Usado com o campo de dia da semana para especificar construções como "última sexta-feira", que seria 5L. |
|
|
Usado para o campo de dia do mês, para especificar um dia da semana mais próximo do dia indicado. Por exemplo, 14W seria o dia da semana mais próximo ao 14º do mês. |
|
|
Usado para o campo de dia da semana e seguido por um número entre 1 e 5 para especificar construções, como a segunda segunda-feira de um determinado mês. |
|
|
Usado em vez de * para deixar o dia do mês ou dia da semana em branco. |
/etc/crontab , as instruções são dadas sobre onde adicionar entradas ou fazer alterações para personalização. Se o arquivo /etc/local/crontab.local e s pasta R /etc/mcp/override/crontab O arquivo é inicialmente criado pelo usuário, portanto, não tem instruções.
Editando os arquivos crontab.
Sempre que possível, você deve usar um client e a API para efetuar trabalhos agendados no cluster. Adicionando diretamente crontab As entradas devem ser um último recurso e devem ser verificadas para não causar disrupção, instabilidade ou qualquer outro impacto no cluster.
Se houver necessidade de personalização cronjobs, primeiro converse com sua equipe de conta para a criação de uma solicitação de recurso.
/etc/crontab arquivo NÃO deve ser editado diretamente.
Adicionar ou modificar entradas neste arquivo deve ser feito no
/etc/mcp/override/crontab para todo o cluster e o /etc/local/crontab.local para o nó local.
Entradas do Crontab em
/etc/mcp/override/crontab (em todo o cluster) e o /etc/local/crontab.local são preservados durante as atualizações.
Se a /etc/local/crontab.local O arquivo não existe, use o comando abaixo para criar:
touch /etc/local/crontab.local
Da mesma forma, se o /etc/mcp/override/crontab O arquivo não existe, use o comando abaixo para criar:
touch /etc/mcp/override/crontab
crontab fazer um backup do arquivo para que ele possa ser restaurado, se necessário:
cp /etc/local/crontab.local /etc/local/crontab.local.backup
É possível adicionar uma entrada diretamente executando o seguinte comando:
vi /etc/local/crontab.local
E da mesma forma:
vi /etc/mcp/override/crontab
Cole ou digite a entrada necessária, conforme mostrado no exemplo abaixo:
Para adicionar treedelete.sh para execução às 23h diariamente:
0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh
Usar isi_ropc in crontab Entrada
ADS isi_ropc a um crontab entry executa o comando aprovado no máximo uma vez por cluster por versão, independentemente de quantos nós ele seja executado. Sem um indicador, isso permitiria que o comando fosse executado no nó com o menor DevID. Como alternativa, adicione o -s flag executaria o comando em um nó aleatório. Veja um exemplo de entrada:
# rotate log files on /ifs, too -- one node per cluster at a time
15,45 * * * * root isi_ropc newsyslog -f /etc/newsyslog.ifs.conf
Adicionar várias entradas a um crontab .
If a crontab O arquivo requer várias entradas de outro arquivo, acrescente a entrada do trabalho. Este exemplo em que path_to_file_with_entries é o arquivo que contém as entradas a serem importadas:
cat /ifs/<path_to_file_with_entries> >> /etc/local/crontab.local
Verifique se as entradas são propagadas corretamente ao sistema crontab .
Um resultado semelhante ao seguinte é exibido na parte inferior:
tail -n 50 /etc/crontab # X: ---------------- # X: OVERRIDE# X: This section contains user changes which will be # X: preserved between product versions. It is # X: populated from the contents of the file # X: /etc/mcp/override/crontab # X: ---------------- # X: ---------------- # X: LOCAL # X: This section contains entries local to this node # X: only. This section is populated from the contents of # X: the file /etc/local/crontab.local if it exists. # X: ----------------0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh
Reverta as alterações na crontab file:
Essas etapas revertem o crontab.local para a versão de backup que foi criada na seção anterior.
- Abra um
SSHAbra uma conexão SSH com algum nó do cluster e faça login usando a conta "root". - Execute o seguinte comando para copiar e, em seguida, renomear o backup original do
crontab.localfile:
cp /etc/local/crontab.local.backup /etc/local/crontab.local
Informations supplémentaires
Antes do OneFS 9.5, /etc/mcp/override/crontab.smbtime foi usado para preservar entradas por meio de upgrades. Desde então, foi determinado que, a partir do OneFS 9.5 e versões posteriores, use /etc/mcp/override/crontab Em vez de /etc/mcp/override/crontab.smbtime.