Autor Tópico: [RESOLVIDO] Script de Backup  (Lida 3002 vezes)

Offline eliangela

  • Usuário Ubuntu
  • *
  • Mensagens: 10
    • Ver perfil
[RESOLVIDO] Script de Backup
« Online: 01 de Setembro de 2009, 12:17 »
Olá pessoal!!

Baixei um script de backup da internet e alterei de acordo com a minha necessidade e programei o agendador de tarefas do Ubuntu pra rodar uma vez por dia. Mas estou com um problema. O script tem algumas instruções que exigem senha do root e o terminal não está abrindo pra mim digitar a senha.... Segue o script:

Código: [Selecionar]
#!/bin/sh

main(){
  
   if [ -e "/home/eliangela/Mount/Temp" ]
   then
      clear;  

      usuario="eliangela"
      senha="senha"
      
      endereco="//10.0.0.16/mobilidade"
      
      sudo mount -t cifs -o codepage=cp850,iocharset=iso8859-1,username=$usuario,password=$senha $endereco /home/eliangela/Mount/Temp/
   elif [ -e "/home/eliangela/Mount" ]
   then
      mkdir "/home/eliangela/Mount/Temp"
      main
   else
      mkdir "/home/eliangela/Mount"
      main
   fi
   sudo mv -v /home/eliangela/backup/* /home/eliangela/Mount/Temp/Backup
   sudo umount $endereco
   echo "Fim do Backup!!"
}
main

Nos lugares que estão escrito SUDO deveria abrir o terminal pra digitar a senha, mas não está abrindo... alguém saberia como que eu faço pra abrir o terminal?
Obrigada!
« Última modificação: 08 de Setembro de 2009, 15:39 por eliangela »

Offline mpmoraes

  • Usuário Ubuntu
  • *
  • Mensagens: 516
  • Rio de Janeiro - RJ
    • Ver perfil
Re: Script de Backup
« Resposta #1 Online: 01 de Setembro de 2009, 13:16 »
Vou aproveitar sua mensagem e colocar uma informação que obtive, mas não tenho como verificar se procede ou não, espero que ao ler esse texto algum usuário avançado esclareça a nós dois.

Pelo que andei lendo, o comando sudo é dado para realizar algumas ações que necessitem de permissão especial (usuário principal no sistema), no entanto, pelo menos no ubuntu, ela não é atributo do root (super usuário).
No caso do root, você não precisaria entrar com "sudo' pois toda ação que realizasse seria executada pelo sistema, isto porque em instância anterior você deve ter entrado com o comando "sudo su" para poder ser visto como root.
Outra coisa que andei lendo é que ao usar o comando "sudo" no terminal pela primeira vez ele pediria sua senha e caso usa-se novamente o mesmo comando num intervalo de aproximadamente dez minutos, o sistema não pediria para adicionar a senha de novo (como acontece em alguns scripts).

Umas perguntas que gostaria de fazer com relação ao seu processo de backup as seguintes perguntas:

- O backup é realizado de forma "perfeita" quando usa seu script?

- Você roda o script via terminal ou com duplo clique no arquivo texto?

- Caso seja pelo terminal, você usa o comando sudo antes de executar o script? Se usa o mesmo pede senha?

Sou um nova to em linux, mas gosto de estudar alguns "entraves" para me aperfeiçoar.
Não sei em que consiste seu backup, mas aqui faço backup do sistema inteiro com o aplicativo remastersys (interface gráfica)

Posta aí as respostas que estudaremos juntos...

« Última modificação: 01 de Setembro de 2009, 13:18 por mpmoraes »
Ubuntu 12.04 - AMD64 Notebook: Compaq Q40-714br, Intel Core 2 Duo T6600 2.2GHz Memória 4GB HD 500GB DVD-RW

Offline eliangela

  • Usuário Ubuntu
  • *
  • Mensagens: 10
    • Ver perfil
Re: Script de Backup
« Resposta #2 Online: 01 de Setembro de 2009, 14:22 »
- O backup é realizado de forma "perfeita" quando usa seu script?

- Você roda o script via terminal ou com duplo clique no arquivo texto?

- Caso seja pelo terminal, você usa o comando sudo antes de executar o script? Se usa o mesmo pede senha?
1- quando eu uso o meu script, ele move todos os arquivos da pasta e armazena numa pasta do servidor. Esses arquivos já foram compactados por outra rotina que eu tenho aqui.

2- Esse script pode ser rodado via terminal sim. Mas o meu problema é que eu estou usando o agendador de tarefas do Ubuntu pra executar essa rotina uma vez por dia e o terminal não está abrindo para eu digitar a senha.. resumindo: sem a senha do root não funciona!

3- Se eu rodar pelo terminal funciona perfeitamente. É só digitar a senha do root e o script funciona!

Segue o outro script que eu uso pra compactar os arquivos antes de enviar pro servidor:
Código: [Selecionar]
#!/bin/bash
clear
PASTAQUEQUERFAZERBACKUP=/home/eliangela/Projetos
ONDECOLOCAROBACKUP=/home/eliangela/backup

HOJE=$(date +%d_%H)

tar czfv $ONDECOLOCAROBACKUP/Projetos_$HOJE.tar.gz $PASTAQUEQUERFAZERBACKUP

echo "Backup do dia $HOJE terminado!!!"

Offline pedrotf

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Script de Backup
« Resposta #3 Online: 01 de Setembro de 2009, 14:26 »
Olá pessoal!!

Baixei um script de backup da internet e alterei de acordo com a minha necessidade e programei o agendador de tarefas do Ubuntu pra rodar uma vez por dia. Mas estou com um problema. O script tem algumas instruções que exigem senha do root e o terminal não está abrindo pra mim digitar a senha.... Segue o script:

Código: [Selecionar]
#!/bin/sh

main(){
   
   if [ -e "/home/eliangela/Mount/Temp" ]
   then
      clear;   

      usuario="eliangela"
      senha="senha"
     
      endereco="//10.0.0.16/mobilidade"
     
      sudo mount -t cifs -o codepage=cp850,iocharset=iso8859-1,username=$usuario,password=$senha $endereco /home/eliangela/Mount/Temp/
   elif [ -e "/home/eliangela/Mount" ]
   then
      mkdir "/home/eliangela/Mount/Temp"
      main
   else
      mkdir "/home/eliangela/Mount"
      main
   fi
   sudo mv -v /home/eliangela/backup/* /home/eliangela/Mount/Temp/Backup
   sudo umount $endereco
   echo "Fim do Backup!!"
}
main

Nos lugares que estão escrito SUDO deveria abrir o terminal pra digitar a senha, mas não está abrindo... alguém saberia como que eu faço pra abrir o terminal?
Obrigada!


Basta criar a senha do root e no local de usuário coloca root e a senha coloca a senha do root

Para criar a senha do root

Citar
sudo passwd root

Offline eliangela

  • Usuário Ubuntu
  • *
  • Mensagens: 10
    • Ver perfil
Re: Script de Backup
« Resposta #4 Online: 01 de Setembro de 2009, 14:31 »
Aonde?? Porque o usuário e senha que aparecem no script são do servidor...

Offline clcampos

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 10.790
  • .:: User Linux #439596 ::.
    • Ver perfil
Re: Script de Backup
« Resposta #5 Online: 01 de Setembro de 2009, 14:32 »
Não precisa criar a senha do root, e eu nunca recomendo isso.

Basta usar o crontab com o sudo antes... ai a rotina já será executada com os direitos deste usuário.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

Offline eliangela

  • Usuário Ubuntu
  • *
  • Mensagens: 10
    • Ver perfil
Re: Script de Backup
« Resposta #6 Online: 01 de Setembro de 2009, 15:01 »
Por favor, pessoal... sou um pouco inexperiente com o linux ainda :(
Não sei fazer do jeito que vcs estão falando...
Quero que o agendador de tarefas chame o terminal pra mim digitar a senha, mas não estou conseguindo...

Obrigada

Offline clcampos

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 10.790
  • .:: User Linux #439596 ::.
    • Ver perfil
Re: Script de Backup
« Resposta #7 Online: 01 de Setembro de 2009, 15:48 »
Por favor, pessoal... sou um pouco inexperiente com o linux ainda :(
Não sei fazer do jeito que vcs estão falando...
Quero que o agendador de tarefas chame o terminal pra mim digitar a senha, mas não estou conseguindo...

Obrigada

Isso acho que você não vai conseguir.

Melhor mesmo pesquisar (via google, ou outro meio) sobre o crontab e usar ele com sudo.

Ele é super fácil de mexer.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

Offline eliangela

  • Usuário Ubuntu
  • *
  • Mensagens: 10
    • Ver perfil
Re: Script de Backup
« Resposta #8 Online: 01 de Setembro de 2009, 16:48 »
OK... vou pesquisar sobre o crontab e posto a resposta caso consiga alguma coisa!
Obrigada!

Offline eliangela

  • Usuário Ubuntu
  • *
  • Mensagens: 10
    • Ver perfil
Re: Script de Backup
« Resposta #9 Online: 08 de Setembro de 2009, 15:38 »
Olá!
obrigada pelas dicas... resolvi agendando uma execução do script digitando no terminal:
Código: [Selecionar]
sudo crontab -edaí eu digitei dentro do agendador:
Código: [Selecionar]
30 12 * * * /home/eliangela/programas/./servidor-access.sh