Iniciante "ajuda com exercicios"

1. Iniciante "ajuda com exercicios"

Paulo Evaristo
filisteus

(usa Outra)

Enviado em 26/11/2010 - 11:35h

Olá bom dia! estou iniciando com shell script e meus colegas de trabalho, me passaram esses exercicios para praticar mas estou com muita dificuldade, e queria saber se vcs podem me ajudar, até pq esses exercicios podem servir de referência pra outras pessoas.

1. A fim de monitorar algumas informações em um computador com
sistema Linux, seu chefe solicitou a criação de um script em shell.
Entre as informações que devem ser coletadas estão os dados da CPU
e da memória, os usuários conectados, a hora atual e o tempo que o
computador está ligado. Como este problema pode ser resolvido?

2. Sua empresa precisa realizar diariamente operações de backup sobre
vários arquivos importantes. Os arquivos a serem armazenados estão
em um diretório específico e espera-se que o arquivo de backup que
for gerado seja gravado em outro diretório especialmente designado
para esta função. A solução a ser desenvolvida apenas poderá ser
executada pelo usuário “backupuser”. Como isso pode ser feita de
forma automatizada de 24h em 24h sem termos que utilizar o crontab
do linux?
Dicas: Se lembrem do comando tar;
Como os nomes dos arquivos de backup serão padronizadas,
considere a nomenclatura dos arquivos da seguinte forma: iniciando com a palavra
backup, seguida por um número e pela extensão de backup (tar.gz)

3. Numa determinada empresa foi implantada uma solução de código
livre para tratamento de mensagens de e-mails do tipo "spam". A
solução anti-spam adotada foi o SpamAssassim, implantado em um
servidor linux. Espera-se que o administrador da rede da empresa
saiba quantos spams são detectados diariamente pelo controle antispam.
Além disso, quando houver mais de 3000 spams detectados em
um mesmo dia, o administrador da rede da empresa deve ser


notificado, por e-mail, com um aviso urgente. Como podemos
solucionar este problema?
Dicas: O Spamassassim é um programa utilizado para o controle de
spams. Para cada dia do ano que esse programa esteja em atividade é
criado automaticamente um diretório de quarentena onde as mensagens
bloqueadas por serem suspeitas são armazenadas. Exemplos de nomes de
diretórios são: 20100309, 20100621, 20101126 (Ano+mês+dia). Dentro de
cada uma destas pastas há um diretório chamado spam. E dentro deste
diretório há um arquivo para cada spam encontrado.
Para notificar o administrador da rede, pesquisem pelo
comando mutt.
2


  


2. Re: Iniciante "ajuda com exercicios"

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 26/11/2010 - 11:49h

Bom ... não é assim que as coisas funcionam por aqui ... não fazemos trabalhos escolares pelos outros!

Você deve começar a criar seus scripts ... conforme for tendo dúvidas ... ai nós ajudamos ... caso a caso!

Tenta primeiro ... é assim que você vai aprender ... "ralando" ...




3. exato

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 26/11/2010 - 13:24h

como o amigo acima disse... mas eu concordo que as vezes fica dificil... sem nem mesmo o caminho das pedras... então ai vai... dicas para o primeiro exercicio, caso não saiba, poderá utilizar:
cat /proc/cpuinfo (para cpu)
cat /proc/meminfo (para memória)
Para dispositivos:
dmesg
lspci

Para ver memória em uso:
free

who para usuários conectados
date para data e hora
uptime tempo que o computador esta ligado

Lembre-se que para executar um comando e retornar em variavel em shell utiliza-se crase.
ex:

dados=( ${dados[@]} `who`)
count=1
for item in ${dados[@]}; do
echo " $count) $item"
count=`expr $count + 1`
done
echo "Total de usuários conectados: $count"



4. Re: Iniciante "ajuda com exercicios"

Paulo Evaristo
filisteus

(usa Outra)

Enviado em 27/11/2010 - 13:40h

pôr valeu! funcionou! agora vou tentar fazer o 2


5. Código gerando erro...

Ronaldo de Almeida Batista
ralmbat2010

(usa Fedora)

Enviado em 27/11/2010 - 18:31h

Prezados amigos...

Eu tentei fazer este segundo exercício que o colega Filisteus propôs, mas infelizmente o cpodigo está gerando os seguintes erros:

tar: Removing leading `/' from member names
tar: /home/ronaldo/Download/BackupTeste: Não é possível stat: Arquivo ou diretório não encontrado
tar: Exiting with failure status due to previous errors
Backup Finalizado Com Sucesso !!!!

Também não consigo fazer com que ele seja agendado para rodar de 24hs em 24hs. Segue o ódigo para sua apreciação:


echo "O backup do diretório será iniciado - Continuar: [S ou N]?"
read resposta
test "$resposta" = "N" || test "$resposta" = "n" && exit
echo
echo "Digite seu nome de usuário:"
read entrada
if [ "$entrada" == "backupuser" ];then
DATA=`date +%Y-%m-%d-%H.%M`
tar -zcvf backup-"$DATA".tar.gz /home/ronaldo/Modelos/ #Esta é a pasta que está no meu perfil em /home
echo "Backup Finalizado Com Sucesso !!!!"
else
echo "Você não está autorizado a Realizar o Backup"
fi

Se alguém puder me ajudar com este erro, ficarei agradecido.

Obrigado por sua ajuda e atenção,
Ronaldo.


6. Re: Iniciante "ajuda com exercicios"

Paulo Evaristo
filisteus

(usa Outra)

Enviado em 27/11/2010 - 21:47h

Eu catei na net inteira e não achei uma forma de agendar sem o cron, me deram a alternativa de copiar para o /etc/cron.daily, mas se o script está sendo executado como usuário normal. e de gravar direto no arquivo crontab echo "0 1 * * * /bin/bash /home/backupuser/backup.sh" >> /tmp/crontab.hyk0DM/crontab mas como poderia fazer isso se primeiro teria que criar o mesmo no terminal com o comando crontab -e.
O script tem que ser totalmente automatizado


7. Re: Iniciante "ajuda com exercicios"

Arthur
shaper

(usa FreeBSD)

Enviado em 29/11/2010 - 09:56h

Paulo,

No exercício diz que não pode ser usado CRON, então dentro do script vc coloca o SLEEP pra poder fazer a espera.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts