Autor Tópico: Script backup não funciona no CRON  (Lida 1041 vezes)

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Script backup não funciona no CRON
« Online: 15 de Agosto de 2018, 11:50 »
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.

Offline selvaking

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.028
  • Parque Anchieta - Rio de Janeiro - RJ
    • Ver perfil
Re:Script backup não funciona no CRON
« Resposta #1 Online: 15 de Agosto de 2018, 15:20 »
Saída do comando:

Código: [Selecionar]
sudo ls -lhF /home/servidor/backupldap.sh
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Re:Script backup não funciona no CRON
« Resposta #2 Online: 15 de Agosto de 2018, 19:01 »
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)?

Saída do comando:

Código: [Selecionar]
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.

Offline selvaking

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.028
  • Parque Anchieta - Rio de Janeiro - RJ
    • Ver perfil
Re:Script backup não funciona no CRON
« Resposta #3 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

Código: [Selecionar]
* *   * * *   root   /home/servidor/backupldap.sh
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Re:Script backup não funciona no CRON
« Resposta #4 Online: 15 de Agosto de 2018, 23:37 »
Já fiz isso, note que eu coloquei na pergunta:

Citar
Já 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.


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

Código: [Selecionar]
* *   * * *   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.

Offline selvaking

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.028
  • Parque Anchieta - Rio de Janeiro - RJ
    • Ver perfil
Re:Script backup não funciona no CRON
« Resposta #5 Online: 16 de Agosto de 2018, 08:38 »
saida dos comndos:

Código: [Selecionar]
sudo service --status-all
Código: [Selecionar]
ls -lhF /usr/bin/crontab
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Re:Script backup não funciona no CRON
« Resposta #6 Online: 16 de Agosto de 2018, 08:46 »
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.

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.245
  • Gratidão gera gratidão, lamúria gera lamúria...
    • Ver perfil
Re:Script backup não funciona no CRON
« Resposta #7 Online: 18 de Agosto de 2018, 11:30 »
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