Como reiniciar o serviço no script bash?

0

Eu escrevi um pequeno script para fazer upload de um log para o meu servidor ftp, você pode ignorar tudo além da última linha que deve reiniciar o rsyslog. Executar o comando a partir da linha de comando funciona bem, mas não funciona no arquivo de script. Alguém pode ajudar?

#!/bin/bash


mv /var/log/rtx8660.log /home/vocovo/RTX8660_$(date +"%Y-%m-%d-%H_%M").log

touch /var/log/rtx8660.log

 cd /home/vocovo


  FTPLOG=/tmp/ftplogfile
  ftp -inv <<! > $FTPLOG
  open SERVER
  user USER PASS
  cd /Wickes_Test
  prompt
  mput RTX*
  close
  quit
  !

 FTP_SUCCESS_MSG="226 Transfer complete"
 if fgrep "$FTP_SUCCESS_MSG" $FTPLOG ;then
 echo "ftp OK"
 rm RTX*
 else
 echo "ftp Error: "$OUT
 fi
 exit 0




 service rsyslog restart
    
por Simon Dunning 09.12.2016 / 16:24

2 respostas

3

A última linha nunca é executada porque você sai do script antes dela.

exit 0

deve ser a última linha do seu script.

    
por 09.12.2016 / 16:48
0

Você não mencionou qual versão do Debian, mas supondo que esteja usando uma retransmitida no init.d, você pode tentar:

/etc/init.d/rsyslog restart

Lembre-se de executar como root.

    
por 09.12.2016 / 16:48