[RESOLVIDO] Script de Backup

Iniciado por eliangela, 01 de Setembro de 2009, 12:17

tópico anterior - próximo tópico

eliangela

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:

#!/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!

mpmoraes

#1
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...

Ubuntu 12.04 - AMD64 Notebook: Compaq Q40-714br, Intel Core 2 Duo T6600 2.2GHz Memória 4GB HD 500GB DVD-RW

eliangela

Citação de: mpmoraes online 01 de Setembro de 2009, 13:16
- 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:
#!/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!!!"

pedrotf

Citação de: eliangela 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:

#!/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

Citarsudo passwd root

eliangela

Aonde?? Porque o usuário e senha que aparecem no script são do servidor...

clcampos

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!

eliangela

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

clcampos

Citação de: eliangela 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

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!

eliangela

OK... vou pesquisar sobre o crontab e posto a resposta caso consiga alguma coisa!
Obrigada!

eliangela

Olá!
obrigada pelas dicas... resolvi agendando uma execução do script digitando no terminal:
sudo crontab -e
daí eu digitei dentro do agendador:
30 12 * * * /home/eliangela/programas/./servidor-access.sh