Enunciado t3

201 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
201
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Enunciado t3

  1. 1. ISCTE – IUL 3º Trabalho de Sistemas Operativos Ano lectivo 2010-2011 - 2º Semestre GroupIUL – Sistema de Compras em Grupo Data de Entrega: 15 de Maio de 2011 (versão 1.1)Considere os seguintes ficheiros, que serão usados em exemplos deste trabalho.(caso queira, pode copiá-los do servidor Tigre. Estão na directoria /home/exemplos/trabalho3). ==> compradores-26-02-11.txt <== josesilva tintim paulosergio jaquim pedro ==> compradores-27-02-11.txt <== josesilva rui timtim timtim josesilva ==> compradores-28-02-11.txt <== josesilva tintim paulosergio ==> oferta-26-02-11.txt <== Sebentas:Sebentas de SO:22:85:10 ==> oferta-27-02-11.txt <== Livro so:Livro de sistemas operativos:12:90:4 ==> oferta-28-02-11.txt <== Massagens:massagens de estimulo cerebral:55:70:22 ==> users.txt <== josesilva:sporting:1212-1212-121212 cebola:x:2333-2222-2323223 tintim:stromp:2323-2323-2323232 jaquim:ola:2232-1111-11111111 pedro:benfica:3333-3333-3333333
  2. 2. Parte 1 – Shell scriptNesta parte do trabalho pretendem-se um conjunto de scripts que gerem estatísticas de utilização doGroupIUL – Sistema de Compras em Grupo. Os exemplos seguidamente apresentados baseiam-senos ficheiros apresentados acima e respectivo conteúdo.statglobal.shPretende-se criar um relatório de utilização do sistema de compras groupIUL. Para isso, o scriptdeverá analisar os ficheiros respectivos e produzir informação equivalente à seguinte:Numero de ofertas diárias: 3Numero de licitações efectuadas: 13Valor médio do custo original das ofertas (Euros): 29Número médio de licitantes por oferta: 4Lista de utilizadores activos Utilizador josesilva está activo com 4 licitações Utilizador cebola inactivo Utilizador tintim está activo com 2 licitações Utilizador jaquim está activo com 1 licitações Utilizador pedro está activo com 1 licitaçõesLista de ofertas com número mínimo de compradores atingido Dia 26-02-11, oferta: Sebentas, mincomp: 10, lic: 5, NOPE Dia 27-02-11, oferta: Livro so, mincomp: 4, lic: 5, OK Dia 28-02-11, oferta: Massagens, mincomp: 22, lic: 3, NOPEstatuser.shPretende-se criar um relatório de utilização do sistema de compras groupIUL para um determinadoutilizador, entre duas datas. O script deverá perguntar nome do utilizador, data inicial e data final,caso estes parâmetros não tenham sido passados por argumento. Em alternativa o utilizador poderácorrer o script com argumentos. Ex: ./statuser.sh josesilva 20110226 20110227Exemplo de execução:Utilizador: josesilvaData inicial (aaaammdd): 20110226Data final (aaaammdd): 20110227Calculo do n. de licitações efectuadas por josesilva entre 20110226 e 20110227 verificando compradores-26-02-11.txt (20110226 -> dentro do intervalo) verificando compradores-27-02-11.txt (20110227 -> dentro do intervalo) verificando compradores-28-02-11.txt (20110228 -> fora do intervalo) Total: 3Calculo do numero de compras efectuadas por josesilva entre 20110226 e 20110227 verificando oferta-26-02-11.txt (20110226 -> dentro do intervalo) minimo compradores: 10, licitações: 5. (não executada) verificando oferta-27-02-11.txt (20110227 -> dentro do intervalo) minimo compradores: 4, licitações: 5. comprou 2 vezes verificando oferta-28-02-11.txt (20110228 -> fora do intervalo) Total compras: 2 –2–
  3. 3. Parte 2 – administração da área pessoalPretende-se criar alguns mecanismos que melhorem o trabalho remoto em ambiente Linux,nomeadamente no servidor Tigre. O objectivo é criar um conjunto de ferramentas adicionais e umsistema de backups básico da área de trabalho da cadeira de Sistemas Operativos. Esta parte dotrabalho divide-se em duas tarefas: a) criação de um conjunto de directorias e ficheiros e b) criaçãode um conjunto de scripts.a) Ficheiros e directoriasNa sua área pessoal deverão ser criadas as seguintes directorias:~/bin Nesta directoria deverão ser colocados os ficheiros script de administração (definidos mais à frente no ponto b). Adicionalmente deverá: 1) dar permissão de execução a esta directoria e 2) preparar o ambiente de utilizador para que os ficheiros aí presentes sejam executados como os ficheiros (comandos) do sistema (exemplo: ls, cat), isto é, sem ser necessário colocar ./ à frente do nome do ficheiro, e que possam ser chamados a partir de qualquer directoria em que o utilizador se encontre.~/backups Nesta directoria serão colocados os ficheiros de backup.Adicionalmente crie o ficheiro:~/.backup.config Este ficheiro deverá conter as “variáveis” de configuração do sistema de backups. Cada linha do ficheiro corresponde a uma variável. Essas variáveis especificam as directorias que devem ser usadas para backup, a data e hora do último backup, o intervalo de tempo em minutos entre sucessivos backup, da seguinte forma: BACKUPDIRS=aula1:aula2:trabs/trab1:trabs/trab2 LASTBACKUP=201104271104 INTERVALO=5 Assume-se que as directorias especificadas são relativas à directoria principal do utilizadorb) Scripts a desenvolverbackupwork.shEste script deverá gerar um backup da área de trabalho, isto é, das directorias indicadas na variávelBACKUPDIRS do ficheiro ~/.backup.config. O ficheiro gerado deve ter o seguinte formato:backup_201104271104.(tar.gz|tgz), em que 201104271104 representam a data ehora a concatenados (ano, mês, dia, hora e minutos) a que o script foi gerado. Adicionalmentedeverá actualizar a variável LASTBACKUP. –3–
  4. 4. backuplist.shEste script mostra a data e hora do último backup, bem como uma listagem dos ficheiros existentesnesse backup.backupmenu.shEste script será responsável pela gestão do sistema de backups. Deverá apresentar um menu com asseguintes opções: 1. Mostrar directorias 2. Acrescentar directoria 3. Apagar directoria 4. Ver lista de backups 5. Ver utilização em discoA opção 1 deverá mostrar as directorias definidas na variável BACKUPDIRS. As opções 2 e 3deverão permitir modificar estas directorias. A opção 4 deve mostrar uma listagem dos backupsexistentes, isto é, uma listagem das datas e horas. A opção 5 deverá mostrar o espaço ocupado pelosbackups.Indique a configuração que usaria e os passos necessários para colocar o script de backup nocrontab ?Entrega do Trabalho:A entrega do trabalho deverá ser um ficheiro zip contendo os seguintes ficheiros: - Parte 1: statglobal.sh e statuser.sh. - Parte 2 a): um pequeno relatório que explique como procedeu (relatorio.txt) e cópia dos ficheiros de configuração que considere necessários; - Parte 2 b): os ficheiros pedidos: backupwork.sh, backuplist.sh e backupmenu.sh. Os passos relativos ao crontab deverão ser incluídos no ficheiro relatorio.txt.Nota: o nome dos ficheiros dos scripts devem obrigatoriamente obedecer aos nomes pedidos. –4–

×