Script parou de funcionar do nada [RESOLVIDO]

1. Script parou de funcionar do nada [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 25/01/2017 - 01:46h

Pessoas ... estou com um script q de uma hora para outra parou de funcionar ... não consigo identificar o problema

mauricio@phantom:~/Scripts$ ./limpa_cache.sh
./limpa_cache.sh: line 15: | cut -d: comando não encontrado
./limpa_cache.sh: line 16: | cut -d: comando não encontrado
./limpa_cache.sh: line 27: [: : esperado expressão de número inteiro
Não é necessário limpar o Cache da memória


mauricio@phantom:~/Scripts$ ./limpa_cache.sh
./limpa_cache.sh: line 15: | cut -d: comando não encontrado
./limpa_cache.sh: line 16: | cut -d: comando não encontrado
./limpa_cache.sh: line 27: [: : esperado expressão de número inteiro
Não é necessário limpar o Cache da memória
mauricio@phantom:~/Scripts$ cat limpa_cache.sh
#!/bin/bash
#
#
# Este script limpa o Cache da Memória RAM sempre que a memória livre estiver abaixo de $MEM_MIN
# No caso deixei pra limpar o cache sempre que a memória livre estiver abaixo de 1GB, adaptar às suas necessidades
# Eu deixo este script no cron do root para executar a cada hora, e ele só vai limpar o cache quando for necessário
#
# Escrito por Fernando B. Giannasi - março/2013
#
# Referências: http://blog.philippklaus.de/2011/02/clear-cached-memory-on-ubuntu/
# http://www.vivaolinux.com.br/dica/Limpando-a-memoria-cache-no-Linux


# Informações da memória
MEM_LIVRE='cat /proc/meminfo | grep "^MemFree" | tr -s ' ' | cut -d' ' -f2' && MEM_LIVRE='echo "$MEM_LIVRE/1024.0" | bc'
MEM_TOTAL='cat /proc/meminfo | grep "^MemTotal" | tr -s ' ' | cut -d' ' -f2' && MEM_TOTAL='echo "$MEM_TOTAL/1024.0" | bc'

MEM_MIN='echo 2048'

# Só funciona como root, se não for root precisaremos usar o sudo
SUDO='which sudo'
if [ "'whoami'" == "root" ]; then ROOT=true; fi
if [ ! "'which sudo'" ] && [ !$ROOT ]; then echo "Não é o superusuário e o SUDO não foi encontrado"; exit 1; fi


# Finalmente limpando o Cache...
if [ "$MEM_LIVRE" -le "$MEM_MIN" ]
then
echo "Efetuando limpeza do Cache da memória..."
if [ $ROOT ]; then sync; echo 3 > /proc/sys/vm/drop_caches; else $SUDO sync; echo 3 | $SUDO tee /proc/sys/vm/drop_caches > /dev/null; fi
MEM_APOS='cat /proc/meminfo | grep "^MemFree" | tr -s ' ' | cut -d ' ' -f2' && MEM_APOS='echo "$MEM_APOS/1024.0" | bc'
echo "Memória total instalada: $MEM_TOTAL MB"
echo "Memória livre antes: $MEM_LIVRE MB"
echo "Memória livre após: $MEM_APOS MB"
else
echo "Não é necessário limpar o Cache da memória"
fi

exit 0


linha de erro 15
mauricio@phantom:~/Scripts$ cat /proc/meminfo | grep "^MemFree" | tr -s ' ' | cut -d' ' -f2
837388


Linha de erro 16
mauricio@phantom:~/Scripts$ cat /proc/meminfo | grep "^MemTotal" | tr -s ' ' | cut -d' ' -f2
4036024


Creio que parou de funcionar depois do upgrade para versão 8.7 do Debian



  


2. Re: Script parou de funcionar do nada [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 25/01/2017 - 14:03h

up !!
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


3. Re: Script parou de funcionar do nada [RESOLVIDO]

Alentz
Alentz

(usa Slackware)

Enviado em 25/01/2017 - 14:27h

Bom não manjo de Shell script , estou um pouco destreinado kkk , mas acho que o problema tá no parâmetro -d do cut , tá assim --> cat /proc/meminfo | grep "^MemFree" | tr -s ' ' | cut -d' ' -f2 , não devia estar assim? --> cat /proc/meminfo | grep "^MemFree" | tr -s ' ' | cut -d ' ' -f2 , a diferença que estou notando é na falta de espaço do valor que está sendo passado pro parâmetro , --> cut -d' ' , é o que estou achando .


4. Re: Script parou de funcionar do nada

Alentz
Alentz

(usa Slackware)

Enviado em 25/01/2017 - 14:34h

E aqui também mano , if [ "$MEM_LIVRE" -le "$MEM_MIN" ]
then , senti falta do --> ; , depois do --> ] .
Aí iria ficar assim --> if [ "$MEM_LIVRE" -le "$MEM_MIN" ];
then


5. Re: Script parou de funcionar do nada [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 25/01/2017 - 14:40h

Velho ... como eu ainda não entendi o pq q essa joça parou, eu vou vou fazer umas alterações no script seguindo suas idéias ... o script tava funcionado de boa e parou do nada sacou .. a parada do cut não tem nada a ver mas vou fazer a suas sugestões de alterações ... até pq se eu soubesse resolver eu já teria resolvido !!! hehehhe

Abçs
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


6. Re: Script parou de funcionar do nada

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 25/01/2017 - 15:18h

Tá qíu paríu .. descobri o erro ..

Seguinte ... quando o erro começou a dar foi de "bc: comando não encontrado" ( isso eu não citei no 1° post), aí eu fucei o código e começou dar erro no 'cut' ... só que nem me toquei q esse meu Debian agora eu contruí ele do 0 ... e como sendo construído do 0, tem muita coisa q precisa ser instalada manualmente ( era o caso do 'bc' ).

Só agora q fiz o download de novo da script original é q vim me dar conta disso !!!
No caso o erro foi falha do piloto !!!
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


7. Re: Script parou de funcionar do nada [RESOLVIDO]

Alentz
Alentz

(usa Slackware)

Enviado em 25/01/2017 - 17:14h

Mauriciodez escreveu:

Tá qíu paríu .. descobri o erro ..

Seguinte ... quando o erro começou a dar foi de "bc: comando não encontrado" ( isso eu não citei no 1° post), aí eu fucei o código e começou dar erro no 'cut' ... só que nem me toquei q esse meu Debian agora eu contruí ele do 0 ... e como sendo construído do 0, tem muita coisa q precisa ser instalada manualmente ( era o caso do 'bc' ).

Só agora q fiz o download de novo da script original é q vim me dar conta disso !!!
No caso o erro foi falha do piloto !!!
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Entendi , que bom que resolveu man . Eu também mosquei na solução , o erro tava dizendo --> cut -d: comando não encontrado , e não um erro de invalida opção , devia ter prestando atenção nisso .







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts