Como verificar se um agendamento de backup está configurado no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar tarefas de backup agendadas em um sistema Linux, examinando vários locais onde os trabalhos cron são configurados. Você começará listando os trabalhos cron do usuário atual usando crontab -l para ver se algum agendamento pessoal está definido.

Em seguida, você explorará os trabalhos cron de todo o sistema, verificando o diretório /etc/cron.d, que frequentemente contém tarefas agendadas instaladas por pacotes de software. Finalmente, você verificará o conteúdo do diretório /etc/cron.daily para ver se algum script diário, incluindo potenciais rotinas de backup, está configurado para ser executado automaticamente.

Listar trabalhos cron do usuário com crontab -l

Nesta etapa, você aprenderá como visualizar tarefas agendadas para o usuário atual usando o comando crontab.

cron é um agendador de tarefas baseado em tempo em sistemas operacionais semelhantes ao Unix. Ele permite que você agende comandos ou scripts para serem executados automaticamente em intervalos especificados. Essas tarefas agendadas são frequentemente chamadas de "trabalhos cron" (cron jobs).

Cada usuário no sistema pode ter seu próprio conjunto de trabalhos cron. Estes são armazenados em um arquivo especial chamado "crontab" (tabela cron).

Para visualizar os trabalhos cron para o usuário atual (labex), você usa o comando crontab com a opção -l. O -l significa "listar" (list).

Abra o terminal, caso ainda não o tenha feito. Digite o seguinte comando e pressione Enter:

crontab -l

Como este é um ambiente novo, é provável que o usuário labex ainda não tenha nenhum trabalho cron configurado. Se for esse o caso, você verá uma mensagem semelhante a esta:

no crontab for labex

Esta mensagem simplesmente significa que não há tarefas agendadas configuradas para o usuário labex.

Se houvesse trabalhos cron configurados, a saída mostraria cada tarefa agendada em uma nova linha, especificando o agendamento e o comando a ser executado.

Compreender os trabalhos cron do usuário é o primeiro passo para gerenciar tarefas agendadas em um sistema Linux. Nas próximas etapas, exploraremos os trabalhos cron de todo o sistema.

Clique em Continuar para prosseguir.

Verificar trabalhos cron do sistema em /etc/cron.d

Na etapa anterior, você aprendeu como visualizar trabalhos cron para um usuário específico. Agora, vamos explorar os trabalhos cron de todo o sistema.

Os trabalhos cron de todo o sistema são normalmente armazenados no diretório /etc/cron.d/. Ao contrário dos crontabs do usuário, que são gerenciados com o comando crontab, os trabalhos cron de todo o sistema são definidos em arquivos individuais dentro deste diretório.

Esses arquivos são frequentemente criados por pacotes de software instalados para agendar tarefas que precisam ser executadas para todo o sistema, como atualizações do sistema, rotação de logs ou scripts de limpeza.

Para visualizar os arquivos no diretório /etc/cron.d/, você pode usar o comando ls. Como este diretório pertence ao usuário root, você precisará usar sudo para listar seu conteúdo.

Digite o seguinte comando no terminal e pressione Enter:

sudo ls /etc/cron.d/

Você pode ver uma saída semelhante a esta, listando vários arquivos:

anacron  e2scrub_all  phpsessionclean

Os arquivos específicos que você vê podem variar dependendo do software instalado no sistema. Cada arquivo neste diretório representa uma configuração de trabalho cron em todo o sistema.

Para visualizar o conteúdo de um desses arquivos, por exemplo, phpsessionclean, você pode usar o comando cat. Novamente, você precisará de sudo porque o arquivo pertence ao root.

Digite o seguinte comando e pressione Enter:

sudo cat /etc/cron.d/phpsessionclean

Você verá o conteúdo do arquivo, que define quando e como o script phpsessionclean é executado. O formato é semelhante a um crontab de usuário, mas também inclui um campo de usuário para especificar qual usuário deve executar o comando (frequentemente root).

## This file is installed by the php-common package
#
## The script will clean up old session files.
#
## See /usr/lib/php/sessionclean for details.

09,39 * * * * root [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

Esta saída mostra que o script phpsessionclean está agendado para ser executado nos minutos 09 e 39 de cada hora, todos os dias, e será executado pelo usuário root.

Explorar os arquivos em /etc/cron.d/ ajuda você a entender quais tarefas automatizadas estão sendo executadas no nível do sistema.

Clique em Continuar para passar para a próxima etapa.

Verificar cron diário em /etc/cron.daily

Além dos arquivos individuais em /etc/cron.d/, os sistemas Linux frequentemente usam diretórios como /etc/cron.daily/, /etc/cron.weekly/ e /etc/cron.monthly/ para agendar scripts para serem executados em intervalos específicos.

Qualquer script executável colocado em /etc/cron.daily/ será executado uma vez por dia. Da mesma forma, os scripts em /etc/cron.weekly/ são executados uma vez por semana, e aqueles em /etc/cron.monthly/ são executados uma vez por mês.

Esses diretórios são tipicamente gerenciados por um trabalho cron em todo o sistema que executa um script como run-parts para executar todos os scripts encontrados dentro desses diretórios.

Vamos examinar o conteúdo do diretório /etc/cron.daily/. Este diretório contém scripts que estão agendados para serem executados todos os dias.

Use o comando ls com sudo para listar os arquivos neste diretório:

sudo ls /etc/cron.daily/

Você provavelmente verá uma lista de scripts, como:

apt-compat  dpkg  logrotate  man-db  passwd  update-notifier-common

Estes são scripts que executam tarefas diárias de manutenção no sistema, como atualizar a lista de pacotes (apt-compat), rotacionar arquivos de log (logrotate) e atualizar o banco de dados de páginas de manual (man-db).

Para entender o que um desses scripts faz, você pode visualizar seu conteúdo usando sudo cat. Por exemplo, vamos olhar para o script logrotate:

sudo cat /etc/cron.daily/logrotate

A saída mostrará o código do script, que é responsável por rotacionar os arquivos de log do sistema para evitar que eles cresçam muito.

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
exit 0

Este script simplesmente verifica se o comando logrotate existe e é executável e, se for, ele executa logrotate usando o arquivo de configuração /etc/logrotate.conf.

Compreender os scripts em /etc/cron.daily/ e diretórios semelhantes fornece informações sobre as tarefas de manutenção automatizadas que mantêm o sistema funcionando sem problemas.

Você agora explorou os trabalhos cron do usuário, os trabalhos cron em todo o sistema em /etc/cron.d/ e os scripts cron diários em /etc/cron.daily/. Este conhecimento é fundamental para gerenciar tarefas agendadas em um sistema Linux.

Clique em Continuar para concluir o laboratório.

Resumo

Neste laboratório, você aprendeu como verificar tarefas de backup agendadas no Linux, examinando os trabalhos cron. Você começou listando os trabalhos cron do usuário atual usando crontab -l, entendendo que este comando exibe tarefas agendadas específicas do usuário.

Em seguida, você explorou os trabalhos cron de todo o sistema, verificando o diretório /etc/cron.d/, que contém arquivos que definem tarefas agendadas para todo o sistema, frequentemente instaladas por pacotes de software. Finalmente, você verificou os trabalhos cron diários localizados no diretório /etc/cron.daily, que normalmente contém scripts destinados a serem executados uma vez por dia. Ao verificar esses locais, você pode determinar se os agendamentos de backup estão configurados em um sistema Linux.