Meu problema é que meu usuário não era um sudoer
.
Esse problema pode ser resolvido adicionando seu usuário ao arquivo /etc/sudoers
ou adicionando a tarefa cron como root
.
sudo su
crontab -e
e colocando cron job lá
Estou tentando executar meu trabalho cron com meu usuário (usuário).
O cron job não tem problemas para instalar e o script funciona se eu apenas o executar.
É executável e tenho o sinal bash
para indicar que é um script bash.
Eu criei o script executando crontab -e
conectado como user
.
Para fins de teste, executarei este script a cada minuto, mas, eventualmente, o alterarei para 10 minutos.
meu cronjob deve executar meu script que pinga o servidor googles a cada 10 minutos e cria um log para que eu possa saber se meus dispositivos perdem a conexão com a internet para rastrear um problema. Eu tenho outro script que move o arquivo de log todos os dias e, em seguida, registra com uma data e, em seguida, esse script deve criar outro arquivo de log. atualmente não está fazendo um arquivo com este cronjob ou atualizando o arquivo depois que eu executar o script.
meu cronjob
*/1 * * * * bash /home/user/ping_scripts/ping-test.sh
meu script
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
exec sudo "$0" "$@"
fi
if [ ! -e /var/log/ping.log ];then
touch /var/log/ping.log
fi
ping -q -c5 google.com > /dev/null
if [ $? -eq 0 ];then
echo -e "[$(date)] \t\t google ping successful" >> /var/log/ping.log
else
echo -e "[$(date)] \t\t google ping failed" >> /var/log/ping.log
fi
Eu li algumas outras soluções, mas ele não corrigiu meu erro.
(Eu não posso descrever como o meu post é diferente do que é simplesmente uma pergunta, que eu não consegui encontrar a resposta ao passar por Por que os scripts crontab não estão funcionando? que é para erros exclusivos do cron e a solução não era realmente exclusiva do cron especificamente, ele tinha mais a ver com o meu script Para obter a resposta, basta consultar a resposta marcada abaixo.)
Meu problema é que meu usuário não era um sudoer
.
Esse problema pode ser resolvido adicionando seu usuário ao arquivo /etc/sudoers
ou adicionando a tarefa cron como root
.
sudo su
crontab -e
e colocando cron job lá