Enviado em 31/05/2013 - 17:04h
Olá galera, estou com um trabalho da faculdade pra fazer e não estou conseguindo desenvolver. Tentei o máximo que deu mas não consigo compreender direito a lógica dos scripts, pois é um pouco diferente da lógica em C ou Java (dos quais não conheço muito, mas são mais fáceis do que o .bash).
#!/bin/bash
clear
$HOME/lista_backup.txt
$HOME/diretorios.txt
op=1
while [ ! $op -eq 8 ]; do
clear
echo "--------------------------------------------------------------------------------"
echo "|----------------------------Digite a opção desejada:--------------------------|"
echo "| |"
echo "|1- Montar um diretório compartilhado na rede. |"
echo "|2- Desmontar um diretório compartilhado na rede. |"
echo "|3- Exportar um diretório para ser compartilhado na rede. |"
echo "|4- Configurar diretório de backup. |"
echo "|5- Cadastrar um diretório na lista de backups. |"
echo "|6- Realizar o backup dos diretórios da lista de backups. |"
echo "|7- Listar quantos volumes foram gerados para o diretório da lista de backups. |"
echo "|8- Sair. |"
echo "| |"
echo "--------------------------------------------------------------------------------"
read op
case $op in
1) clear
echo "Entre com o ip: "
read ip
echo "Entre com o caminho do diretorio a ser mapeado: "
read dir_c
echo "Entre com o nome para o diretorio: "
read nome_dir
mount -t nfs -o rw $ip:$dir_c /mnt/$nome_dir
if [ $? -eq 0 ]; then
echo "Diretorio mapeado com sucesso!"
$dir_c >> $HOME/diretorios.txt
else
echo "Diretorio ja mapeado."
fi
echo "Aperte uma tecla para continuar..."
read
;;
2) clear
echo "cat $HOME/diretorios.txt"
echo "Selecione o diretorio a ser desmontado: "
read dir_d
umount $dir_d
if [ $? -eq 0 ]; then
echo "Diretorio desmontado com sucesso!"
else
echo "Impossivel de desmontar."
fi
echo "Aperte uma tecla para continuar..."
read
;;
3) clear
echo "Digite o diretorio para ser exportado: "
read dir_e
`$dir_e *(rw, sync)` >> /etc/exports
if [ $? -eq 0 ]; then
echo "Diretorio exportado com sucesso!"
else
echo "Erro desconhecido."
fi
echo "Aperte uma tecla para continuar..."
read
;;
4) clear # ???
echo "Digite o nome do diretorio de backup (diretorio remoto): "
read dir_nome
echo "Aperte uma tecla para continuar..."
read
;;
5) clear # ???
echo "Entre com o diretorio para adiciona-lo na lista de backups: "
read dir_bkp
$dir_bkp>>lista_backup.txt
echo "Aperte uma tecla para continuar..."
read
;;
6) clear
tot=`ls lista_bakcup.txt | wc -l`
while [ ! $tot -eq 0 ]; do
vol=`head $tot -n | tail 1 -n`
tar -cf $vol.tar $HOME/bkp_tar
tar -cfz $vol.gzip $HOME/bkp_gzip
if [ $? -eq 0 ]; then
echo "Volumes .tar e .gzip do diretorio $vol criados com sucesso!"
else
echo "Erro desconhecido no diretorio $vol."
fi
tot=$tot-1
done
echo "Aperte uma tecla para continuar..."
read
;;
7) clear # ???
tot=`ls lista_bakcup.txt | wc -l`
while [ ! $tot -eq 0 ]; do
vol=`head $tot -n | tail 1 -n`
ls $HOME/
tot=$tot-1
done
echo "Aperte uma tecla para continuar..."
read
;;
8) clear
echo "Deseja realmente sair?"
read res
case $res in
S|s|sim|SIM|Y|yes|YES) op=8
;;
N|n|nao|Nao|NO|no) op=0
;;
*) echo "Opcao invalida"
echo "Aperte uma tecla para continuar..."
read
esac #fim do while 8
;;
9|1[0-2]) clear
echo "Opcao ainda nao implementada."
echo "Aperte uma tecla para continuar..."
read
;;
*) clear
echo "Opcao invalida."
echo "Aperte uma tecla para continuar..."
read
;;
esac #fim do case
done #fim do while
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Grub não reconhece o Windows 11 (3)
como posso fazer overclock nesse programa? (1)
PC congelando em momentos aleatórios (em várias distros) (2)