Script backup não funciona no CRON

Iniciado por velox256, 15 de Agosto de 2018, 11:50

tópico anterior - próximo tópico

velox256

E aí moçada,

eu criei um script simples para fazer backup da base de dados do LDAP conforme abaixo:

Citar
#!/bin/bash

#Script criado por Sidnei Serra
#Para backup do LDAP

DATA=`date +%Y%m%d-%H%M%S`
LOCAL=$'/home/servidor/backup/ldap'
ARQUIVO=$'BKP-LDAP.ldif'

echo - Iniciando backup
sleep 1
echo - Parando o servico
service slapd stop
sleep 1
echo - Criando arquivo LDIF para a pasta de backup
slapcat -l $LOCAL/$DATA-$ARQUIVO
sleep 1
echo - Reiniciando o servico LDAP
service slapd start
echo - Backup completo. Veja o arquivo em $LOCAL

O script funciona sem problemas no Terminal, mas qdo se coloca o mesmo no CRON, não funciona. No CRON seria (como teste rodar de 1 em 1 minuto):

Citar*/1 * * * * /home/servidor/backupldap.sh

Já botei o script no /usr/sbin (*/1 * * * * /usr/bin/backupldap.sh), a saída de texto mandei pro /dev/null, mudei vários parâmetros no script (como ", ', ´ e tal) e nada, não é criado arquivo nenhum na pasta de backup via CRON. No log do syslog dá "no MTA installed, discarding output" (pra isso coloquei o /dev/null); já refiz o script apenas com os comandos básicos, sem inclusão de data nem nada e ainda assim no CRON não roda. Já rodei em root, como usuário administrador do sistema e também não rodou. Alguma dica?
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

selvaking

Saída do comando:

sudo ls -lhF /home/servidor/backupldap.sh
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

velox256

Saída de texto:

Citar
-rwxr-xr-x 1 root root 436 Aug 15 06:59 backupldap.sh*

Será que vou ter que "chown-zar" o arquivo (pra ele ficar openldap.openldap)?

Citação de: selvaking online 15 de Agosto de 2018, 15:20
Saída do comando:

sudo ls -lhF /home/servidor/backupldap.sh
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

selvaking

Já que vc quer parar e iniciar o servidor seria certo colocar o nome do usuário no CRON

* *   * * *   root   /home/servidor/backupldap.sh
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

velox256

Já fiz isso, note que eu coloquei na pergunta:

CitarJá rodei em root, como usuário administrador do sistema e também não rodou.

Já tentei outros scripts mais elaborados, que não param o serviço, inclusive botei o comando de bkp simples no Cron (slapcat -l arquivo.ldif) e também não funcionoram. Os scripts não funcionam no Cron mas no Terminal, sim.


Citação de: selvaking online 15 de Agosto de 2018, 22:01
Já que vc quer parar e iniciar o servidor seria certo colocar o nome do usuário no CRON

* *   * * *   root   /home/servidor/backupldap.sh
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

selvaking

saida dos comndos:

sudo service --status-all

ls -lhF /usr/bin/crontab
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

velox256

Já dei um jeito, meio que na gambiarra mas está funcionando. Botei o script pra rodar como um serviço e uso o Cron pra reiniciá-lo a cada 12 horas.  Pra criar o serviço usei esse tutorial aqui e ajeitei as variáveis às minhas necessidades:

Citar
http://www.fucking-it.com/br/artigos/linux-ubuntu/1158-ubuntu-17-criar-um-script-de-inicializacao

No Cron a linha ficou:

Citar
*  */12  *  *  *  systemctl restart  ldapbkp.service > /dev/null 2&1

É isso aí, hehehe... ;)
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

zekkerj

Sempre que colocar um script no CRON, lembre-se de chamar os aplicativos pelo caminho completo, pois o ambiente de execução é reduzido.

Nem todas as variáveis de ambiente estão presentes, e outras têm valor diferente --- o PATH é uma delas.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D