Autor Tópico: Shell Script como verificar tempo do pc ligado e backup  (Lida 9593 vezes)

Offline filisteus

  • Usuário Ubuntu
  • *
  • Mensagens: 50
    • Ver perfil
Shell Script como verificar tempo do pc ligado e backup
« Online: 25 de Novembro de 2010, 18:50 »
Tô aprendendo shell script e vi esses exercicios na net,alguém pode me ajudar a fazer?

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?

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 anti-
spam. Além disso, quando houver mais de 3000 spams detectados em
um mesmo dia, o administrador da rede da empresa deve ser
1
UNIJORGE
Curso Redes de Computadores
PAR
Prof. Marcelo Rito
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 usando o comando mutt

« Última modificação: 28 de Novembro de 2010, 00:10 por filisteus »

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #1 Online: 25 de Novembro de 2010, 19:40 »
1- /proc/cpuinfo, /proc/meminfo (ou free), who, date e uptime.
2- cron.

Offline Kamei Hyoga

  • Usuário Ubuntu
  • *
  • Mensagens: 1.095
  • Ubuntu 11.04
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #2 Online: 25 de Novembro de 2010, 19:41 »
1 - pesquise sobre conky se essa informação se for só para mostrar a informação. Se for para ver em rede e/ou de vários computadores, não sei te dizer.

2 - pesquise sobre rsync

Offline filisteus

  • Usuário Ubuntu
  • *
  • Mensagens: 50
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #3 Online: 26 de Novembro de 2010, 09:53 »
clear
echo
echo
echo " [1] saber quem está logado nesta máquina "
echo " [2] tempo ligado (PC) "
echo " [3] Dados do processador "
echo " [4] Dados da memória "
echo " [5] Data de Hoje "
echo " [6] sair "

echo -n " >>>Digite a opção: "
read Opcao

echo
case $Opcao in
1)w
;;
2)uptime
;;
3)/proc/cpuinfo
;;
4)/proc/meminfo
;;
5)date
;;
6)echo
echo  Desenvolvido por Hellnux
echo
exit
;;
esac

echo
echo

Eu fiz esse script, mas na hora das opções 3 e 4 ele informa permissão negada

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #4 Online: 26 de Novembro de 2010, 10:30 »
Não percebeu que os dois são arquivos texto? Use o free e o lscpu (para dados já formatados). Viu que você está fugindo do questionário, não? Acho que a ideia era aprender a filtrar dados (grep, awk ou coisa do tipo)... não esqueça de olhar o manual de cada um (man uptime, man lscpu e etc).

Offline cesargcomp

  • Usuário Ubuntu
  • *
  • Mensagens: 545
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #5 Online: 26 de Novembro de 2010, 11:33 »
clear
echo
echo
echo " [1] saber quem está logado nesta máquina "
echo " [2] tempo ligado (PC) "
echo " [3] Dados do processador "
echo " [4] Dados da memória "
echo " [5] Data de Hoje "
echo " [6] sair "

echo -n " >>>Digite a opção: "
read Opcao

echo
case $Opcao in
1)w
;;
2)uptime
;;
3)/proc/cpuinfo
;;
4)/proc/meminfo
;;
5)date
;;
6)echo
echo  Desenvolvido por Hellnux
echo
exit
;;
esac

echo
echo

Eu fiz esse script, mas na hora das opções 3 e 4 ele informa permissão negada


Mude os comandos
3)/proc/cpuinfo
4)/proc/meminfo

para

3)cat /proc/cpuinfo
4)cat /proc/meminfo
Use Ubuntu. Segurança, facilidade e gratuidade em suas mãos.

Offline filisteus

  • Usuário Ubuntu
  • *
  • Mensagens: 50
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #6 Online: 26 de Novembro de 2010, 21:57 »
Muiitoo obrigado ficou legal! vou tentar fazer o 2

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #7 Online: 27 de Novembro de 2010, 17:48 »
Dando uma olhada rápida, é só retirar o "if" do começo, aonde ele compara o $UID com 0.
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Offline filisteus

  • Usuário Ubuntu
  • *
  • Mensagens: 50
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #8 Online: 27 de Novembro de 2010, 18:27 »
Eu exclui aquele script e tô usando esse aqui, consigo compactar numerado,fazer backup com usuário especifico, mas não consigo agendar em 24 horas, sem ter que criar um arquivo no crontab.
Alguém sabe se tem como?
Código: [Selecionar]
quemsou=`whoami`

   if [ "$quemsou" != "backupuser" ];then
    echo "Somente paulo pode disparar uma rotina de backup. Abortando..."
    exit
else
 DIR_ORIG="/home/dados"
 DIR_DEST="/home/arquivos/"
 BKP_NAME="backup`date +%d-%m_%H%M`.tgz"

# compactação do diretório de origem diretamente no diretório de destino
tar -czpf ${DIR_DEST}${BKP_NAME} ${DIR_ORIG}

# mensagem de resultado
echo "Seu backup foi realizado com sucesso."
echo "Diretório: ${DIR_ORIG}"
echo "Destino: ${DIR_DEST}${BKP_NAME}";
fi

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #9 Online: 27 de Novembro de 2010, 18:37 »
Uma saída (muito ruim), é criar um loop infinito para disparar a rotina. Use o cron ou similar (como o fcron).

Offline filisteus

  • Usuário Ubuntu
  • *
  • Mensagens: 50
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #10 Online: 27 de Novembro de 2010, 18:39 »
Uma saída (muito ruim), é criar um loop infinito para disparar a rotina. Use o cron ou similar (como o fcron).
Vc poderia me dizer como eu poderia adicionar isso no script?

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #11 Online: 27 de Novembro de 2010, 18:43 »
Como assim "sem ter que criar um arquivo no crontab"?

Tá me dizendo que não consegue se não colocar a implementação do seu backup no cron?
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Offline filisteus

  • Usuário Ubuntu
  • *
  • Mensagens: 50
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #12 Online: 27 de Novembro de 2010, 18:47 »
Como assim "sem ter que criar um arquivo no crontab"?

Tá me dizendo que não consegue se não colocar a implementação do seu backup no cron?
Não é isso? eu queria  saber se há forma de ser  feito com algum  código  no script

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #13 Online: 27 de Novembro de 2010, 19:16 »
Sabe direcionar a saída?
Código: [Selecionar]
echo "Alguma coisa" > alguma_coisa.txt #Destrutivo (apaga)
echo "Alguma coisa" >> alguma_coisa.txt #Não destrutivo (adiciona)
Tem o tee também.

Offline filisteus

  • Usuário Ubuntu
  • *
  • Mensagens: 50
    • Ver perfil
Re: Shell Script como verificar tempo do pc ligado e backup
« Resposta #14 Online: 27 de Novembro de 2010, 19:46 »
Sabe direcionar a saída?
Código: [Selecionar]
echo "Alguma coisa" > alguma_coisa.txt #Destrutivo (apaga)
echo "Alguma coisa" >> alguma_coisa.txt #Não destrutivo (adiciona)
Tem o tee também.
huum entendi! seria assim?
echo "0 1 * * * /bin/bash  /home/backupuser/backup.sh" >> /tmp/crontab.hyk0DM/crontab

Nesse caso meu backup seria feito a toda 1 hora da manhã