Execute as atualizações de segurança do Ubuntu somente aos sábados

7

Um cliente quer ativar atualizações automáticas de segurança em sua caixa 12.04, mas tem que ser uma vez por semana, somente no sábado (por que não sei).

Quando eu faço dpkg-reconfigure -plow unattended-upgrades é diário, e eles não querem isso.

Como eu configuraria isso?

    
por Simon Fredsted 16.01.2015 / 10:55

2 respostas

2

Se for absolutamente importante executar apenas aos sábados, faça o seguinte:

  1. Remova o pacote anacron . Observe que isso também remove ubuntu-desktop , mas você provavelmente não precisará dele em um servidor. Isso é necessário, porque senão é impossível controlar em qual dia da semana o Anacron executará os trabalhos em /etc/cron.weekly .
  2. Edite o arquivo /etc/crontab , ele deve ter a seguinte linha:

    47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
    

    Altere o 7 para 6 (sábado) e ajuste os dois primeiros números (minuto e hora) de acordo com suas necessidades. Isso fará com que todos os trabalhos em /etc/cron.weekly sejam executados no dia da semana e hora especificados.

  3. Mova o arquivo /etc/cron.daily/apt para /etc/cron.weekly/apt .
por 16.01.2015 / 12:57
2

O arquivo apt em /etc/cron.daily inclui instruções para isso:

# Create /etc/apt/apt.conf.d/02periodic file to set your preference.
....
#
#  APT::Periodic::Unattended-Upgrade "0";
#  - Run the "unattended-upgrade" security upgrade script
#    every n-days (0=disabled)
#    Requires the package "unattended-upgrades" and will write
#    a log in /var/log/unattended-upgrades

configuração

APT::Periodic::Unattended-Upgrade "7";

faz isso rodar a cada sete dias, e se você mudar isso na sexta-feira, a corrida diária do primeiro cron será no sábado pela manhã (6:25 AM de acordo com o padrão /etc/crontab ).

Se a máquina estiver inativa nesse momento, o script será executado no dia seguinte em que o sistema está ativo. E toda semana depois daquele (novo) dia. Dessa forma, você recebe atualizações semanais em uma máquina que nem sempre está ativa em um determinado dia, mas não o que você deseja.

Uma coisa que você pode fazer para sair de sincronia é usar uma entrada crontab para executar um comando de toque que toque o arquivo de carimbo /var/lib/apt/periodic/update-stamp apropriadamente (ou seja, define como "concluído na última sábado à noite")

    
por 16.01.2015 / 12:57