como executar o script bash com crontab em centos? [duplicado]

3

Meu arquivo bash não é executado pelo cronjob criado como root. A configuração do cronjob é semelhante à seguinte

0 0 * * * mysql_backup.sh

precisa ser decalared com o comando bash 0 0 * * * bash mysql_backup.sh ? se eu executar manualmente meu script bash manualmente sudo bash mysql_backup.sh do que está funcionando.

Eu tenho criado o cronjob usando sudo crontab u root -e e o arquivo bash está na raiz do centos

    
por fefe 29.04.2013 / 14:31

2 respostas

10

Primeiro, você precisa usar o caminho completo como:

0 0 * * * /path/to/mysql_backup.sh

Em segundo lugar, você precisa garantir que seu script tenha permissão de execução ou invocá-lo usando:

0 0 * * * /bin/bash /path/to/mysql_backup.sh

Em terceiro lugar, você precisa se certificar de que está executando seu cron job com privilégios suficientes.

    
por 29.04.2013 / 14:37
0

também, você pode adicionar o seguinte comando na primeira linha do seu script:

#!/bin/bash

(assumindo que o bash está localizado em / bin / bash). Isso fará com que seu script seja executado pelo bash mesmo quando chamado diretamente, e não como um parâmetro do bash.

Você pode adicionar alguns logs e também verificar seu log de crontab, para ver se há algum erro que possa levar você à solução.

    
por 29.04.2013 / 15:14

Tags