Execute vários comandos no relógio

2

Eu tenho um script pequeno, que eu quero rodar constantemente até que eu Ctrl + C . Eu vi algumas sugestões de usar watch e os pequenos exemplos que vi funcionam bem, mas não consigo fazer com que funcione para mim.

Aqui está meu script

echo -en "\nQueued forks: "$(( $(ls -lash /var/www/data/forked/* | wc -l) - 10 ));
echo -en "\nRunning fork processes: "$(ps -ef | awk '$8 ~ /jsfork*/ {print}' | wc -l)"\n\n";
ps auxfww;

if [ -e /var/www/data/logs/fork.log ]
then
    echo -en "\n\nErrors:\n"
    more /var/www/data/logs/fork.log
else
    echo -en "\n\nNo errors.\n\n"
fi

Todos os exemplos que vi foram aproximadamente watch -n x 'do something' , mas como o meu script tem ' , não funcionou apenas para envolvê-lo.

Existe alguma maneira que eu possa usar watch com meu script?

Não tenho certeza se o sistema operacional faz muita diferença nesse caso, mas ele está sendo executado no Ubuntu 12

    
por TMH 23.09.2015 / 14:52

1 resposta

6

Você pode simplesmente colocar os comandos em um arquivo, preceder um shebang ( #!/bin/sh ), torná-lo executável ( chmod +x script.sh ) e fornecê-lo como argumento para watch :

watch ./script.sh
    
por 23.09.2015 / 17:35

Tags