Pode executar scripts “cache” do cron?

0

Advertências iniciais: 1. Meu conhecimento * nix é muito limitado, mas crescente. 2. Esta questão específica se aplica ao SunOS 5.10 (eu sei), mas eu estaria interessado em respostas gerais.

Se uma entrada cron executa o script myscript.pl a cada minuto e em algum momento eu modifico esse arquivo de script, é a próxima execução cron garantida para executar o script alterado, ou poderia estar em algum lugar / de alguma forma uma versão em cache que continuaria a executar?

Eu acho que o intérprete Perl também pode entrar nesta questão em particular.

    
por zkarj 14.12.2017 / 03:17

1 resposta

2

Ele executará a nova versão, pois cada cron cronograma será executado, ele repetirá os comandos que ele armazenou no crontab, mas não o 'resultado' desses comandos.

Portanto, se você alterou o script, mas não o próprio crontab, ele executará o novo script a cada vez.

Se você alterou o crontab (por exemplo, com que frequência ele é executado, o caminho para o script, etc.), você deve chamar crontab para que ele leia novamente esta informação. Caso contrário, o cron verifica as alterações através do modtime, ou usando ionotify, a partir da página man:

   There are two ways how changes in crontables are checked.  The first
   method is checking the modtime of a file.  The second method is using
   the inotify support.  Using of inotify is logged in the /var/log/cron
   log after the daemon is started.  The inotify support checks for
   changes in all crontables and accesses the hard disk only when a
   change is detected.

   When using the modtime option, Cron checks its crontables' modtimes
   every minute to check for any changes and reloads the crontables
   which have changed.  There is no need to restart Cron after some of
   the crontables were modified.  The modtime option is also used when
   inotify can not be initialized.
    
por 14.12.2017 / 15:46