Script de backup não funciona crontab

1. Script de backup não funciona crontab

germano neto neves
gneves

(usa Debian)

Enviado em 12/09/2019 - 16:53h

Ola,

Eu criei o script abaixo para fazer backups automatizados dos switches, quando eu rodo o script na mão o mesmo fica funcional, mas quando coloco no crontab ele não funciona.
Lembrando que fiz o teste na crontab do Debian 9, 10, ubuntu 16 ate o 19 e centos.

Script:

#!/bin/bash

#VARIAVEL QUE PEGA A DATA E HORA QUE ESTA SENDO EXECUTANDO O SCRIPT
DATE=$(/bin/date +%d-%m-%Y-%H-%M-%S)

#VARIAVEl DO USUARIO DO SWITCH
USERFW="xxxx"

#VARIAVEIS DO SERVIDOR QUE FAZ OS BACKUPS
IPSERVER=$(ip route get 1.2.3.4 | awk '{print $7}')


for SW in `more sw.txt `
do
/usr/bin/sshpass -p "XXXXX" /usr/bin/ssh -tt -o StrictHostKeyChecking=no $USERFW@$SW <<EOF
execute backup config tftp SW-$DATE $IPSERVER
exit
exit
EOF
done

Crontab:

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
20 20 * * * root /srv/switches/scripts/sw_script
#





  


2. Re: Script de backup não funciona crontab

Henrique
Henrique-RJ

(usa Outra)

Enviado em 13/09/2019 - 02:02h

Acho que quem pode te ajudar pra valer é o Mauríciodez que foi quem me resolveu um detalhe com o crontab antes pois também não conseguia fazer essa coisa funcionar de jeito nenhum nem procurando soluções pela internet.

Manda uma MP pra ele te ajudar senão tu não vai sair dessa lama tão cedo.


3. Re: Script de backup não funciona crontab

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 13/09/2019 - 08:27h


na linha
for SW in `more sw.txt `
coloca o caminho completo do sw.txt


4. Re: Script de backup não funciona crontab

Paulo
paulo1205

(usa Ubuntu)

Enviado em 13/09/2019 - 13:21h

O comando more geralmente é usado quando você está num terminal. Você pode tentar trocá-lo por cat.


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)


5. Re: Script de backup não funciona crontab

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/09/2019 - 18:12h


gneves escreveu:

Ola,

Eu criei o script abaixo para fazer backups automatizados dos switches, quando eu rodo o script na mão o mesmo fica funcional, mas quando coloco no crontab ele não funciona.
Lembrando que fiz o teste na crontab do Debian 9, 10, ubuntu 16 ate o 19 e centos.

Script:

#!/bin/bash

#VARIAVEL QUE PEGA A DATA E HORA QUE ESTA SENDO EXECUTANDO O SCRIPT
DATE=$(/bin/date +%d-%m-%Y-%H-%M-%S)

#VARIAVEl DO USUARIO DO SWITCH
USERFW="xxxx"

#VARIAVEIS DO SERVIDOR QUE FAZ OS BACKUPS
IPSERVER=$(ip route get 1.2.3.4 | awk '{print $7}')


for SW in `more sw.txt `
do
/usr/bin/sshpass -p "XXXXX" /usr/bin/ssh -tt -o StrictHostKeyChecking=no $USERFW@$SW <<EOF
execute backup config tftp SW-$DATE $IPSERVER
exit
exit
EOF
done

Crontab:

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
20 20 * * * root /srv/switches/scripts/sw_script
#

Boa tarde Gneves.
Altere a linha:
execute backup config tftp SW-$DATE $IPSERVER
Para:
execute backup config tftp ${SW}-${DATE} ${IPSERVER}
Obs: Falta o "$" da var SW

Nunca usei esse tipo de laço:
for SW in `more sw.txt` . . .  

Mas, testei aqui e funciona.....

Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts