crontab

Como posso definir o fuso horário do Crontabs?

Como posso definir o fuso horário do Crontabs?
Crontab, uma forma abreviada de Mesa cron, é um comando e um arquivo de texto em sistemas UNIX / Linux usados ​​para determinar a programação de tarefas Cron. O que é um trabalho Cron? Um cron job, também amplamente conhecido como Cron, é um agendador baseado em tempo que executa tarefas em sistemas Linux em horários específicos. Ele é executado com a ajuda do daemon do crond. Os jobs do Cron são extremamente úteis na automação de scripts Shell e outros comandos que precisam ser executados em intervalos regulares, o que de outra forma seria tedioso quando feito manualmente.

Normalmente, os trabalhos Cron são executados usando a hora local definida no sistema. No entanto, você pode preferir executar o Cron job em um fuso horário diferente, sem necessariamente alterar a data e hora do seu servidor.

Você pode verificar a hora local usando o comando timedatectl da seguinte maneira:

$ timedatectl

Você também pode usar o comando date da seguinte maneira:

$ data

Então, como você pode definir um fuso horário diferente para o seu Crontabs? Vamos descobrir.

Como definir o fuso horário para Crontabs

Em seu sistema Linux local, os fusos horários são geralmente especificados no / usr / share / zoneinfo diretório. O diretório contém uma lista de continentes e países e seus fusos horários, conforme mostrado abaixo.

$ ls / usr / share / zoneinfo /

Você pode ajustar facilmente o fuso horário atual para um diferente usando a sintaxe mostrada. Por exemplo, para definir o sistema para a hora em Tóquio, Japão, basta executar:

$ sudo ln -sf / usr / share / zoneinfo / Ásia / Tóquio / etc / localtime

No entanto, você não pode alterar o horário do seu sistema, especialmente quando vários usuários agendam diferentes Cron jobs. Isso afetaria o tempo de execução de seus jobs Cron.

Felizmente, você pode configurar um fuso horário específico para seu cron job da seguinte maneira:

Primeiro, você precisa exportar a variável TZ em seu script Shell antes de qualquer outra entrada Shell. Em seguida, acesse seu crontab e use a variável de ambiente crontab CRON_TZ no início do arquivo crontab.

Suponha que eu queira definir o cron job para executar um script de backup às 14h20 todos os dias em Europa / Londres hora e não minha hora local. Meu horário local é 2 horas antes do horário de Londres, então às 14h20 em Londres, meu horário local será 16h20 ou 14h20.

Primeiro, vá para o arquivo de script Shell e exporte a variável TZ antes de qualquer outra entrada de script. Veja o que fiz no meu script Shell.

EXPORT TZ = Europa / Londres

Salve as alterações e saia do script.

Em seguida, acesse seu arquivo crontab executando o comando:

$ crontab -e

Certifique-se de definir a variável crontab CRON_TZ antes de todas as outras entradas do Cron como segue.

CRON_TZ = Europa / Londres
20 14 * * * / home / james / backup.sh

Salve e saia do crontab. Para ter certeza das configurações, você pode listar o crontab usando o comando:

$ crontab -l

Portanto, quando o relógio marcou 14h20 no horário de Londres, o que corresponde às 16h40 no horário local ou 1620 horas, o backup foi bem-sucedido.

Conclusão

Este guia é uma demonstração perfeita de que você pode definir um fuso horário específico para seus Crontabs sem alterar o horário do sistema. Desta forma, você pode configurar diferentes tarefas para serem executadas em diferentes fusos horários para atender às suas necessidades, por exemplo, se você deseja enviar e-mails para assinantes de um determinado fuso horário em seu horário e não seu horário local.

Como aumentar o FPS no Linux?
FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...
Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...