Script de backup /home - Ubuntu 10.04

1. Script de backup /home - Ubuntu 10.04

Willian Peterson
wilpeter

(usa Suse)

Enviado em 12/12/2011 - 17:32h

Prezados, gostaria de solicitar uma ajuda, pois devido a problemas de ordem maior estou realmente com dificuldades de resolver este pequeno problema, eu tenho um script básico de backup que roda perfeitamente no SUSE 10 em diante, porém ao tentar usá-lo em uma distribuição Ubuntu 10.04 o mesmo não funciona.
#!/bin/sh
# Script para backup dos dados de usuarios

# Montar unidade de backup MyBookWord
mount -t ntfs /dev/sdc1 /mnt2

# Formata data para adicionar ao nome dos arquivos
t=`/bin/date +%Y%m%d%H%M%S`
tt=`/bin/date +%Y%m%d`

# Define o destino dos arquivos
DST="/mnt2/backup_samba"

# Define as pastas a serem copiadas
ls -ld /home/* | awk '{print $8}' > /root/dirhome.txt

# Compactar o conteudo das pastas por usuario

while read LINHA ; do
# seus comandos aqui, exemplo para testar e remover as barras
# echo $LINHA
MDIR=`echo $LINHA | sed "s|/||g"`
MVAR2=`echo $MDIR`
# MVAR2=`echo $MDIR`-`$tt`
tar czvf $DST/$MVAR2.tar.gz $LINHA
done < /root/dirhome.txt
# tar -zcvf /home/outros-`date +%d%m%y`.tar.gz $DST --exclude-from=/root/dirhome.txt
# tar -zcvf dirtemp-`date +%d%m%y`.tar.gz /tmp


umount /mnt2

# Desligamento do Servidor
/sbin/shutdown -h now

Aparecendo os seguinte erros no prompt:
: No surch file or directorypoint /mnt2/
: not founds.sh: 5:
: not founds.sh: 7:
: not founds.sh: 10:
/root/copias.sh: 18: Syntax error: "done" unexpected (expecting "do")

porém ao montar manualmente via prompt o comando mount funciona.

Grato pela atenção.


  


2. Re: Script de backup /home - Ubuntu 10.04

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 12/12/2011 - 17:42h

você criou o diretorio "/mnt2"?

caso não, crie ele.


3. Re: Script de backup /home - Ubuntu 10.04

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 12/12/2011 - 17:54h

Insira a opção no script para criar o diretorio:



if [ ! -d /media/mnt2 ]; then

mkdir -p /media/mnt2 || exit 1

fi



Lembrando que o local /media/mnt2 é apenas um exemplo.





4. Re: Script de backup /home - Ubuntu 10.04

Willian Peterson
wilpeter

(usa Suse)

Enviado em 12/12/2011 - 21:09h

Muito obrigado pela atenção, mas eu realmente criei o diretório /mnt2 tanto que "fora" do script manualmente no terminal mapeio a unidade normalmente e quando ao erro no while não entendo muito e estranhei não dar certo no Ubuntu 10.04, já que no SUSE 11 está funcionando perfeitamente.
Também tinha colocado estes comandos para verificar a existência do diretório e mesmo assim o erro persiste.


5. Re: Script de backup /home - Ubuntu 10.04

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 12/12/2011 - 23:54h

Tudo bem que funcionou no OPensuse, mas agora no Ubuntu vc vai ter que adaptar o ambiente, veja se realmente tem esse diretório /mtn2

Que usuário está executando esse script no Ubuntu? ele é o root? se não tem poderes como tal, usando o sudo? se sim coloque o sudo no inicio do comando de montagem.


Outra coisa

Existe esse arquivo no seu Ubuntu: /root/dirhome.txt
...
done < /root/dirhome.txt
...

Se não crie-o, e adapte o script, coloque numa partição que o usuário possa acessar, ou dê permissão para que ele possa fazer isso.

Bem o erro apontado foi apenas de não ter encontrado no /mnt2, então sugiro que inicie vendo isso, verifique se o root está executando esse script no Ubuntu.


Outra coisa que podes fazer é executar o script assim:

$ su root
# bash -x script.sh


Ou seja logue-se como root, e faça a execução do script analisando passo a passo o que ele faz, assim vai ficar mais fácil encontrar os erros.

Abraços






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts