confusão sobre o cron e o anacron (configurando o agendamento de backup para o rsnapshot)

2

Estou tentando configurar um agendamento de backup não muito complicado com o rsnapshot em um laptop executando o Ubuntu 16.04 LTS. O plano é manter dois backups diários e 24 backups por hora. Acho que esta é a primeira vez que tenho que fazer alguma coisa com o cron ou o anacron. Então eu tenho não apenas uma, mas várias perguntas sobre as quais estou confuso e ficarei muito feliz em obter algumas respostas, já que encontrei algumas informações aparentemente contraditórias sobre certos pontos e não consegui encontrar nenhuma resolução clara para elas.

Desde que eu estou realmente confuso sobre algumas coisas, eu tive que ficar muito cansada para esclarecer minhas dúvidas. Espero que você possa suportar comigo aqui. Para o pessoal de TL; DR, destaquei as perguntas reais em negrito.

Meu crontab tem esta aparência:

    # m h dom mon dow user  command
    17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
    25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
    47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
    52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
    #

e o anacrontab tem esta aparência:

    # These replace cron's entries
    1   5   cron.daily  run-parts --report /etc/cron.daily
    7   10  cron.weekly run-parts --report /etc/cron.weekly
    @monthly    15  cron.monthly    run-parts --report /etc/cron.monthly

Esse é o padrão após uma instalação limpa da versão Ubuntu 16.04 Desktop.

Como suponho que o sistema normalmente tem um monte de outras tarefas cron e anacron configuradas, acho melhor não mexer com essa configuração padrão.

No entanto, estou um pouco confuso sobre a maneira como os dois trabalham juntos e sobre possíveis complicações com o seu trabalho em conjunto com o meu agendamento de backup planejado.

Primeiro de tudo, eu entendo que o cron é um daemon que executa suas tarefas exatamente como agendado no crontab se o computador estiver rodando na hora especificada. Caso contrário, o trabalho não pode ser feito. OK. Simples.

Depois, há um anacron sobre o qual li algumas informações aparentemente contraditórias. A informação mais simplista que existe é que "o anacron pode executar tarefas agendadas mesmo se o computador não estiver ligado na hora especificada. Elas serão executadas sempre que o computador for ligado novamente. Por isso, é adequado para desktops que fazem isso. não funciona 24 horas por dia. " OK. Soa bem. Parece que é isso que eu quero.

Alguns lugares que eu li que o anacron é um "daemon", então em outros lugares (

No entanto, em um Ubuntu Wiki Alemão ( wiki.ubuntuusers.de ) Eu li que o anacron agora pode fazer trabalhos por hora a partir do Ubuntu 14.04 . Mas não há descrição de como fazê-lo, e não encontrei nenhuma declaração nesse sentido em nenhum outro lugar, e não vejo como se deve especificar um trabalho por hora no anacrontab. Então, outra pergunta é: Pode anacron "como da versão do Ubuntu 14.04" ser usado para fazer trabalhos por hora? Se sim, como?

A primeira pergunta realmente mistificadora que surge aqui para mim é: Se os cronjobs são executados apenas na hora especificada, e existem esses cronjobs diferentes configurados para executar o anacron para executar as tarefas em /etc/cron.daily, / etc / cron.weekly e /etc/cron.monthly, às 6:25, 6:47 e 6:52, respectivamente - , e se o computador nunca for realmente ligado de manhã cedo? Então anacron nunca é realmente executado ou o quê? Como pode o anacron "fazer melhor que o cron" em algum sentido (isto é, executar tarefas posteriores ao planejado se o computador foi desligado no meio) se o anacron depender do cron?

Estas são minhas perguntas sobre o cron e o anacron.

Então eu também tenho perguntas sobre o rsnapshot propriamente dito, que eu acho que devo relatar melhor para um novo tópico de pergunta.

Obrigado pela leitura, e quaisquer respostas claras são muito apreciadas.

    
por Anonymous Ape 06.05.2016 / 05:01

2 respostas

0

Tanto quanto eu entendo .... anacron não é um daemon e é executado pelo cron. O cron é executado na inicialização e executa o anacron. O anacron verifica se algo com o qual está programado perdeu seu cronograma e o executa.

Como esta é a maneira que eu vejo ... parece que você quer o trabalho diário em anacron. Quanto a hora em anacron .. Eu também não vi nada sobre como ele pode ser configurado, então eu colocaria o backup por hora no cron.

Eu sei que isso não explica isso muito bem, mas ... eu acho que isso me confunde também. Tenho certeza de que alguém aqui pode encontrar uma resposta melhor e mais satisfatória, mas imaginei que iria generalizar isso.

    
por John Orion 06.05.2016 / 05:36
0

Anacron não é um daemon; é apenas um programa que é executado pelo cron. Isso é explicado no link , na parte inferior, sob o título Como o Anacron é configurado . De acordo com esse artigo, "o anacron é executado em cada inicialização, ativação, plug-in e às 7h30 todos os dias".

Para citar essa seção desse artigo:

  • Existe uma tarefa do Upstart, localizada em /etc/init/anacron.conf, que executa todos os trabalhos em / etc / anacrontab. Está definido para ser executado na inicialização.

  • Existe um arquivo cron.d (/etc/cron.d/anacron) que faz com que o Upstart tarefa a ser iniciada todos os dias às 7h30.

  • Existe um arquivo /etc/apm/event.d/anacron, que faz com que o Upstart tarefa a ser iniciada quando um laptop é conectado à energia de A / C ou acordado para cima.

Quanto a se as versões recentes do anacron podem lidar com trabalhos por hora: não faço ideia, mas não parece útil. Se você olhar em / etc / crontab, verá que os jobs em /etc/cron.hourly são executados pelo cron a cada hora, quer haja ou não um arquivo executável chamado / usr / sbin / anacron; são apenas os arquivos em /etc/cron.daily, /etc/cron.weekly e /etc/cron.monthly que são executados pelo cron somente quando não há nenhum anacron executável instalado.

    
por Phil Hirschhorn 02.07.2016 / 21:35