/etc/cron.hourly no diretório inicial

1

Como alguém executa scripts em uma pasta em um agendamento sem precisar se preocupar com root / sudo? O Ubuntu tem /etc/cron.hourly , /etc/cron.daily , etc, então eu queria saber se havia também uma pasta no diretório home que ele olha.

    
por Zren 10.04.2016 / 06:12

1 resposta

2

Primeiro, precisamos gerar as pastas nas quais podemos colocar scripts:

mkdir ~/.config/cron.hourly
mkdir ~/.config/cron.daily
mkdir ~/.config/cron.weekly
mkdir ~/.config/cron.monthly
mkdir ~/.config/cron.yearly
mkdir ~/.config/cron.reboot

Em seguida, precisamos executar crontab -e para editar nosso agendador. Se você está usando crontab pela primeira vez, precisará selecionar primeiro o seu editor de terminal (use nano, o padrão). Em seguida, cole:

@hourly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.hourly )
@daily ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.daily )
@weekly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.weekly )
@monthly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.monthly )
@yearly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.yearly )
@reboot ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.reboot )

(nano) pressione Ctrl+X para fechar, digite y para salvar, confirme nome do arquivo com enter .

Agora, você pode colocar qualquer script que quiser nessas pastas para executar em um agendamento.

Observação: nos seus scripts, os comandos fora do padrão PATH /usr/bin:/usr/local/bin precisarão do caminho completo.

Nota: @reboot é especial e só é executado quando você inicializa a frio (não quando você reinicia) o pc.

Você também pode querer instalar sudo apt-get install postfix (selecione apenas local) para registrar qualquer stdout / stderr que seus scripts façam no arquivo /var/mail/$USER .

    
por 10.04.2016 / 06:22

Tags