Ir ao conteúdo
  • Cadastre-se

Crontab não da echo de script


lggarcia
Ir à solução Resolvido por MINEMAM_BR,

Posts recomendados

Ola galera...

Estou com um problema aqui:

 

tenho 1 script:

 

#!/bin/bash
echo "DATA - " `date "+%d/%m/%y - %T"` >> logs.txt
echo "CPU e GPU" >> logs.txt
echo `sensors` >> logs.txt
echo "Temp HDS" >> logs.txt
echo `hddtemp /dev/sda` >> logs.txt
echo `hddtemp /dev/sdb` >> logs.txt
echo `hddtemp /dev/sdc` >> logs.txt
echo `hddtemp /dev/sdd` >> logs.txt

 

Quando executo ele com ./tp.sh e depois leio o arquivo logs.txt, toda a saída está perfeita...

Quando ele executa pelo crontab, as ultimas 5 linhas saem em branco ... ( echo `hddtemp /dev/sda` >> logs.txt)

 

O que já tentei: 

Já criei variáveis e passei estes comandos como valores para imprimir as variáveis diretamente...NADA

Já criei alias destes comandos pelo .bashrc e tentei imprimir... NADA

 

De tudo o que foi testado, quando executo manualmente (./tp.sh) o comando funciona e escreve no arquivo do jeitim que eu preciso, mas com o crontab, fica em branco...

 

SAÍDA do comando (rodando manualmente)

DATA -  25/06/21 - 01:49:21
CPU e GPU
amdgpu-pci-0300 Adapter: PCI adapter vddgfx: +0.69 V fan1: N/A (min = 0 RPM, max = 6900 RPM) edge: +28.0°C (crit = +97.0°C, hyst = -273.1°C) power1: 4.02 W (cap = 35.00 W) coretemp-isa-0000 Adapter: ISA adapter Package id 0: +30.0°C (high = +74.0°C, crit = +84.0°C) Core 0
: +27.0°C (high = +74.0°C, crit = +84.0°C) Core 1: +29.0°C (high = +74.0°C, crit = +84.0°C) Core 2: +30.0°C (high = +74.0°C, crit = +84.0°C) Core 3: +27.0°C (high = +74.0°C, crit = +84.0°C) Core 4: +30.0°C (high = +74.0°C, crit = +84.0°C) Core 5: +29.0°C (high = +74.0°C,
crit = +84.0°C)
Temp HDS
/dev/sda: Seagate BarraCuda Q1 SSDZ 2A04VC0100 1 �: 33°C
/dev/sdb: ST8000DM004-2CX188: 35°C
/dev/sdc: WDC WD60EZRZ-00GZ5B1: 31°C
/dev/sdd: KINGSTON SUV400S37120G: 31°C


SAÍDA do comando (rodando crontab)

DATA -  25/06/21 - 01:49:21
CPU e GPU
amdgpu-pci-0300 Adapter: PCI adapter vddgfx: +0.69 V fan1: N/A (min = 0 RPM, max = 6900 RPM) edge: +28.0°C (crit = +97.0°C, hyst = -273.1°C) power1: 4.02 W (cap = 35.00 W) coretemp-isa-0000 Adapter: ISA adapter Package id 0: +30.0°C (high = +74.0°C, crit = +84.0°C) Core 0
: +27.0°C (high = +74.0°C, crit = +84.0°C) Core 1: +29.0°C (high = +74.0°C, crit = +84.0°C) Core 2: +30.0°C (high = +74.0°C, crit = +84.0°C) Core 3: +27.0°C (high = +74.0°C, crit = +84.0°C) Core 4: +30.0°C (high = +74.0°C, crit = +84.0°C) Core 5: +29.0°C (high = +74.0°C,
crit = +84.0°C)
Temp HDS

 

arquivo crontab:

# Edit this file to introduce tasks to be run by cron.
#  
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#  
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#  
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#  
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#  
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#  
# For more information see the manual pages of crontab(5) and cron(8)
#  
# m h  dom mon dow   command
* * * * * /root/tp.sh

 

 

(ja tentei:

* * * * * root ./tp.sh

* * * * * ./tp.sh

* * * * * /root/tp.sh

e nada... sempre o mesmo resultado)

 

detalhes: logado como root, e caminho dos 2 arquivos /root/tp.sh e /root/logs.txt

Esta maquina não tem outro usuário. Esta maquina esta rodando proxmox. 

Até dois dias funcionava... não sei o que modifiquei, e não consigo encontrar meu erro!!!

 

Muito obrigado pela ajuda !!!

Link para o comentário
Compartilhar em outros sites

@MINEMAM_BR fiz isso... mesmo assim não roda! Se eu comocar "root /root/hd.sh" não roda...mesmo editando /etc/crontab

Agora, se colocar "/root/hd.sh" roda, mas no comando "hddtemp /dev/sda/" sai em branco... todo o resto do script funciona, menos o hddtemp... e se rodar manualmente,  funciona perfeitamente 

@MINEMAM_BR deu certo... é q quando dei o comando "crontab /etc/crontab" ele zerou o arquivo. Adicionei d novo o script e agora roda... muito obrigado! 

  • Haha 1
Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Mas o que é esse primeiro root depois dos "*" da crontab? É um comando chamado root?

 

Nunca edite os arquivos da crontab diretamente, se tiver algum erro de sintaxe sua crontab pára de funcionar. Use sempre crontab -e para editar a crontab, usando o usuário cuja crontab você quer editar.

 

Quando eu quero saber a saída de algum comando da crontab, eu redireciono a saída do próprio comando da crontab, e não dentro do script. No script deve-se também usar o caminho absoluto para as saídas, e não deixar apenas o nome do arquivo sem o caminho completo.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

@Denis Bopp sim sim ...

nesse caso me referia ao echo dentro do arquivo q ele deveria escrever... 

obrigado pela ajuda!

 

@Marco Tada é para que o comando rode como usuario ROOT e não com o usuario logado...

entao, eu sei q o crontab quando executa não "da saida" dos comandos... mas estes echos de la deveriam escrever 1 arquivo... e quando rodava o o script manualmente com esse echo, funcionava perfeitamente... mas quando rodava ele com o crontab, não escrevia corretamente as saidas no arquivo...
obrigado pela ajuda!


mesmo assim, foi resolvido e agora  funciona... 

muito obrigado pela ajuda de todos... 

@Marco Tada PS: pelos meus testes, não deveria ser ROOT depois dos "*" do crontab, e sim SUDO... (minusculo, claro...)

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!