SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
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
Parte 1 – Shell script

Nesta parte do trabalho pretendem-se um conjunto de scripts que gerem estatísticas de utilização do
GroupIUL – Sistema de Compras em Grupo. Os exemplos seguidamente apresentados baseiam-se
nos ficheiros apresentados acima e respectivo conteúdo.

statglobal.sh

Pretende-se criar um relatório de utilização do sistema de compras groupIUL. Para isso, o script
deverá analisar os ficheiros respectivos e produzir informação equivalente à seguinte:

Numero de ofertas diárias: 3
Numero de licitações efectuadas: 13
Valor médio do custo original das ofertas (Euros): 29
Número médio de licitantes por oferta: 4

Lista 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ções

Lista   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, NOPE


statuser.sh

Pretende-se criar um relatório de utilização do sistema de compras groupIUL para um determinado
utilizador, 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 20110227
Exemplo de execução:
Utilizador: josesilva
Data inicial (aaaammdd): 20110226
Data final   (aaaammdd): 20110227

Calculo 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: 3

Calculo 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–
Parte 2 – administração da área pessoal

Pretende-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 um
sistema de backups básico da área de trabalho da cadeira de Sistemas Operativos. Esta parte do
trabalho divide-se em duas tarefas: a) criação de um conjunto de directorias e ficheiros e b) criação
de um conjunto de scripts.

a) Ficheiros e directorias

Na 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 utilizador

b) Scripts a desenvolver

backupwork.sh

Este script deverá gerar um backup da área de trabalho, isto é, das directorias indicadas na variável
BACKUPDIRS do ficheiro ~/.backup.config. O ficheiro gerado deve ter o seguinte formato:
backup_201104271104.(tar.gz|tgz), em que 201104271104 representam a data e
hora a concatenados (ano, mês, dia, hora e minutos) a que o script foi gerado. Adicionalmente
deverá actualizar a variável LASTBACKUP.




                                           –3–
backuplist.sh

Este script mostra a data e hora do último backup, bem como uma listagem dos ficheiros existentes
nesse backup.

backupmenu.sh


Este script será responsável pela gestão do sistema de backups. Deverá apresentar um menu com as
seguintes opções:

   1.   Mostrar directorias
   2.   Acrescentar directoria
   3.   Apagar directoria
   4.   Ver lista de backups
   5.   Ver utilização em disco

A opção 1 deverá mostrar as directorias definidas na variável BACKUPDIRS. As opções 2 e 3
deverão permitir modificar estas directorias. A opção 4 deve mostrar uma listagem dos backups
existentes, isto é, uma listagem das datas e horas. A opção 5 deverá mostrar o espaço ocupado pelos
backups.

Indique a configuração que usaria e os passos necessários para colocar o script de backup no
crontab ?



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–

Mais conteúdo relacionado

Destaque

La naturaleza
La naturalezaLa naturaleza
La naturalezaBeamaria
 
Internet y las Redes Sociales en la campaña electoral dominicana.
Internet y las Redes Sociales en la campaña electoral dominicana.Internet y las Redes Sociales en la campaña electoral dominicana.
Internet y las Redes Sociales en la campaña electoral dominicana.Melvyn Pérez
 
Las cinco maravillas De Salamanca
Las cinco maravillas De SalamancaLas cinco maravillas De Salamanca
Las cinco maravillas De Salamancastellavespertina
 
SCAN_20131112_155939654
SCAN_20131112_155939654SCAN_20131112_155939654
SCAN_20131112_155939654Saleh quzmar
 
Límites y Explotación en Internet Casos y Sentencias (Caso irreal e inventado)
Límites y Explotación en Internet Casos y Sentencias (Caso irreal e inventado)Límites y Explotación en Internet Casos y Sentencias (Caso irreal e inventado)
Límites y Explotación en Internet Casos y Sentencias (Caso irreal e inventado)Abanlex
 
Dts e métodos contracetivos
Dts e métodos contracetivosDts e métodos contracetivos
Dts e métodos contracetivosMaria Freitas
 
Robert Evans - Casamona Reference Letter
Robert Evans - Casamona Reference LetterRobert Evans - Casamona Reference Letter
Robert Evans - Casamona Reference LetterRobert Evans
 
Visa_Information_System_(VIS)_&_Biometric_Matching_System_(BMS)_-_BASICS
Visa_Information_System_(VIS)_&_Biometric_Matching_System_(BMS)_-_BASICSVisa_Information_System_(VIS)_&_Biometric_Matching_System_(BMS)_-_BASICS
Visa_Information_System_(VIS)_&_Biometric_Matching_System_(BMS)_-_BASICSSokratis Marioglou
 
Letter of recommendation for Kelly Pita
Letter of recommendation for Kelly PitaLetter of recommendation for Kelly Pita
Letter of recommendation for Kelly PitaKelly Ann Pita
 

Destaque (16)

La naturaleza
La naturalezaLa naturaleza
La naturaleza
 
Dijimos que estaba_bien
Dijimos que estaba_bienDijimos que estaba_bien
Dijimos que estaba_bien
 
Gatos pintados
Gatos pintadosGatos pintados
Gatos pintados
 
Internet y las Redes Sociales en la campaña electoral dominicana.
Internet y las Redes Sociales en la campaña electoral dominicana.Internet y las Redes Sociales en la campaña electoral dominicana.
Internet y las Redes Sociales en la campaña electoral dominicana.
 
Dividir para conquistar
Dividir para conquistarDividir para conquistar
Dividir para conquistar
 
Las cinco maravillas De Salamanca
Las cinco maravillas De SalamancaLas cinco maravillas De Salamanca
Las cinco maravillas De Salamanca
 
People De Wal Mart
People De Wal MartPeople De Wal Mart
People De Wal Mart
 
SCAN_20131112_155939654
SCAN_20131112_155939654SCAN_20131112_155939654
SCAN_20131112_155939654
 
KOCH Recommendation
KOCH RecommendationKOCH Recommendation
KOCH Recommendation
 
Tutorial foro 2
Tutorial foro 2Tutorial foro 2
Tutorial foro 2
 
Límites y Explotación en Internet Casos y Sentencias (Caso irreal e inventado)
Límites y Explotación en Internet Casos y Sentencias (Caso irreal e inventado)Límites y Explotación en Internet Casos y Sentencias (Caso irreal e inventado)
Límites y Explotación en Internet Casos y Sentencias (Caso irreal e inventado)
 
Dts e métodos contracetivos
Dts e métodos contracetivosDts e métodos contracetivos
Dts e métodos contracetivos
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Robert Evans - Casamona Reference Letter
Robert Evans - Casamona Reference LetterRobert Evans - Casamona Reference Letter
Robert Evans - Casamona Reference Letter
 
Visa_Information_System_(VIS)_&_Biometric_Matching_System_(BMS)_-_BASICS
Visa_Information_System_(VIS)_&_Biometric_Matching_System_(BMS)_-_BASICSVisa_Information_System_(VIS)_&_Biometric_Matching_System_(BMS)_-_BASICS
Visa_Information_System_(VIS)_&_Biometric_Matching_System_(BMS)_-_BASICS
 
Letter of recommendation for Kelly Pita
Letter of recommendation for Kelly PitaLetter of recommendation for Kelly Pita
Letter of recommendation for Kelly Pita
 

Semelhante a Enunciado t3

Capítulo 16 rsyslog
Capítulo 16   rsyslogCapítulo 16   rsyslog
Capítulo 16 rsyslogPaulo Kutwak
 
Desenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernateDesenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernateVitor Silva
 
Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoFelipe
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotationeduardo dias
 
Forense windows registro_sandro_suffert
Forense windows registro_sandro_suffertForense windows registro_sandro_suffert
Forense windows registro_sandro_suffertSandro Suffert
 
Criando um site com LAMP e Joomla em 30 minutos
Criando um site com LAMP e Joomla em 30 minutosCriando um site com LAMP e Joomla em 30 minutos
Criando um site com LAMP e Joomla em 30 minutosFernando Mercês
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em PortuguêsOtavio Salvador
 
Engenharia reversa
Engenharia reversaEngenharia reversa
Engenharia reversaEMSNEWS
 
SVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareSVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareManoel Afonso
 
Implementando PSR-3 com Monolog
Implementando PSR-3 com MonologImplementando PSR-3 com Monolog
Implementando PSR-3 com MonologGabriel Machado
 
Windows 2003 guia_completo
Windows 2003 guia_completoWindows 2003 guia_completo
Windows 2003 guia_completocleanrail
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasLuiz Arthur
 

Semelhante a Enunciado t3 (20)

Comandos Linux Parte 2
Comandos Linux Parte 2Comandos Linux Parte 2
Comandos Linux Parte 2
 
Aula CRONTAB
Aula CRONTABAula CRONTAB
Aula CRONTAB
 
Capítulo 16 rsyslog
Capítulo 16   rsyslogCapítulo 16   rsyslog
Capítulo 16 rsyslog
 
Desenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernateDesenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernate
 
Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de código
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotation
 
Forense windows registro_sandro_suffert
Forense windows registro_sandro_suffertForense windows registro_sandro_suffert
Forense windows registro_sandro_suffert
 
Criando um site com LAMP e Joomla em 30 minutos
Criando um site com LAMP e Joomla em 30 minutosCriando um site com LAMP e Joomla em 30 minutos
Criando um site com LAMP e Joomla em 30 minutos
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em Português
 
Engenharia reversa
Engenharia reversaEngenharia reversa
Engenharia reversa
 
SVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareSVN no Desenvolvimento de Software
SVN no Desenvolvimento de Software
 
Implementando PSR-3 com Monolog
Implementando PSR-3 com MonologImplementando PSR-3 com Monolog
Implementando PSR-3 com Monolog
 
Soa cap2 exercicios
Soa cap2 exerciciosSoa cap2 exercicios
Soa cap2 exercicios
 
Windows 2003 guia_completo
Windows 2003 guia_completoWindows 2003 guia_completo
Windows 2003 guia_completo
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Crud
CrudCrud
Crud
 
Windows 2003 guia_completo
Windows 2003 guia_completoWindows 2003 guia_completo
Windows 2003 guia_completo
 
Modelo spmp
Modelo spmpModelo spmp
Modelo spmp
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando Programas
 

Enunciado t3

  • 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. Parte 1 – Shell script Nesta parte do trabalho pretendem-se um conjunto de scripts que gerem estatísticas de utilização do GroupIUL – Sistema de Compras em Grupo. Os exemplos seguidamente apresentados baseiam-se nos ficheiros apresentados acima e respectivo conteúdo. statglobal.sh Pretende-se criar um relatório de utilização do sistema de compras groupIUL. Para isso, o script deverá analisar os ficheiros respectivos e produzir informação equivalente à seguinte: Numero de ofertas diárias: 3 Numero de licitações efectuadas: 13 Valor médio do custo original das ofertas (Euros): 29 Número médio de licitantes por oferta: 4 Lista 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ções Lista 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, NOPE statuser.sh Pretende-se criar um relatório de utilização do sistema de compras groupIUL para um determinado utilizador, 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 20110227 Exemplo de execução: Utilizador: josesilva Data inicial (aaaammdd): 20110226 Data final (aaaammdd): 20110227 Calculo 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: 3 Calculo 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. Parte 2 – administração da área pessoal Pretende-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 um sistema de backups básico da área de trabalho da cadeira de Sistemas Operativos. Esta parte do trabalho divide-se em duas tarefas: a) criação de um conjunto de directorias e ficheiros e b) criação de um conjunto de scripts. a) Ficheiros e directorias Na 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 utilizador b) Scripts a desenvolver backupwork.sh Este script deverá gerar um backup da área de trabalho, isto é, das directorias indicadas na variável BACKUPDIRS do ficheiro ~/.backup.config. O ficheiro gerado deve ter o seguinte formato: backup_201104271104.(tar.gz|tgz), em que 201104271104 representam a data e hora a concatenados (ano, mês, dia, hora e minutos) a que o script foi gerado. Adicionalmente deverá actualizar a variável LASTBACKUP. –3–
  • 4. backuplist.sh Este script mostra a data e hora do último backup, bem como uma listagem dos ficheiros existentes nesse backup. backupmenu.sh Este script será responsável pela gestão do sistema de backups. Deverá apresentar um menu com as seguintes opções: 1. Mostrar directorias 2. Acrescentar directoria 3. Apagar directoria 4. Ver lista de backups 5. Ver utilização em disco A opção 1 deverá mostrar as directorias definidas na variável BACKUPDIRS. As opções 2 e 3 deverão permitir modificar estas directorias. A opção 4 deve mostrar uma listagem dos backups existentes, isto é, uma listagem das datas e horas. A opção 5 deverá mostrar o espaço ocupado pelos backups. Indique a configuração que usaria e os passos necessários para colocar o script de backup no crontab ? 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–