Buscar

SO2-AdministracaoLinux

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UFRJ – IM - DCC 
Departamento de Ciência da Computação
18/12/2013 Profª Valeria Menezes Bastos 1
Tópicos Especiais em Programação 
Backup (tar)
� Utilizado na criação de cópias de segurança
� Permite agrupar arquivos em um único e desagrupar 
arquivos compactados
Parâmetros:
-f Especifica o nome do arquivo de backup; 
2DCC-IM/UFRJ Profª Valeria M. Bastos
-f Especifica o nome do arquivo de backup; 
-v Mostra na tela a execução do tar (verbose); 
-w Modo interativo; 
-z Utiliza o gzip (*.tar.gz);
-c Cria novo arquivo;
-x Extrai arquivos (descompactação);
-t Lista conteúdo de um arquivo;
-u Atualiza arquivo;
-G Backup incremental;
-r Adiciona arquivos no backup;
-M Backup Multivolume.
Exemplos
# tar -cf destino.tar origem
# tar -c origem > destino.tar
# tar -cvf /dev/st0 /etc
# tar -czf destino.tgz /etc/*
# tar -xfz backup.tgz
arquivo de backup
Outra forma de geração da cópia
Arquivo de backup -> fita magnética
Cria o backup compactado do diretório/etc
O restore deve ser feito da mesma forma que foi feita a gravação
3DCC-IM/UFRJ Profª Valeria M. Bastos
# tar -xfz backup.tgz
# tar -rf backup.tar /usr/local/etc/*
# tar -tf backup.tar
# tar -M -cf /dev/st0 /etc/*
O restore deve ser feito da mesma forma que foi feita a gravação
Adiciona arquivos no backup já existente � opção r
Emite uma lista dos arquivos do tar
Backup multivolume
Backup (cpio)
� Utilizado na criação de cópias de segurança
� Apesar da sintaxe ser diferente da do tar, o resultado é 
exatamente o mesmo
� Recebe uma lista de arquivos a serem agrupados
4DCC-IM/UFRJ Profª Valeria M. Bastos
� Recebe uma lista de arquivos a serem agrupados
Parâmetros:
-0 (saída / passagem) lê arquivo terminado em caractere nulo; 
-A (saída) adiciona um arquivo existente; deve estar especificado -0 ou –F;
-d cria diretório (quando necessário)
-i (entrada) extrai arquivos
-o (saída) cria arquivo de saída
-r renomeia interativamente os arquivos
-t (entrada) lista o conteúdo
-u sobrescreve sem perguntar
-v lista arquivos processados (verbose)
Exemplos
# cat lista.txt 
exemplo/arquivo1.txt 
exemplo/arquivo2.txt 
exemplo/arquivo3.txt 
exemplo/arquivo4.txt 
#cpio -o <lista.txt > cpio.bin
Cria um arquivo binário (cpio.bin) 
com o conteúdo de cada arquivo 
que estava na lista.
O mesmo que o exemplo anterior
5DCC-IM/UFRJ Profª Valeria M. Bastos
# find exemplo -name arquivo* |cpio -o >cpio.bin
# find exemplo -name arquivo* |cpio -o| zip >cpio.zip 
# cpio –i < cpio.bin
# unzip cpio.zip | cpio –i
# cpio -t < cpio.bin
Para desagrupar arquivos compactados 
é necessário descompactar antes
Desagrupando os arquivos 
Cria backups compactados, bastando 
desviar a saída para um programa de 
compactação
O mesmo que o exemplo anterior
Para listar o conteúdo de um 
arquivo cpio, basta usar a opção -t
O que fazem os comandos ?
# cpio -o -H tar <lista.txt >cpio.tar 
# tar -xvf cpio.tar
6DCC-IM/UFRJ Profª Valeria M. Bastos
O que fazem os comandos ?
Cria arquivos cpio com formato tar, 
acrescentando o parâmetro -H tar
# cpio -o -H tar <lista.txt >cpio.tar 
# tar -xvf cpio.tar
7DCC-IM/UFRJ Profª Valeria M. Bastos
O que fazem os comandos ?
Cria arquivos cpio com formato tar, 
acrescentando o parâmetro -H tar
# cpio -o -H tar <lista.txt >cpio.tar 
# tar -xvf cpio.tar
8DCC-IM/UFRJ Profª Valeria M. Bastos
# find /etc -name \* >lista.txt 
# tar -T lista.txt -cf backup.tar
O que fazem os comandos ?
# cpio -o -H tar <lista.txt >cpio.tar 
# tar -xvf cpio.tar
Cria arquivos cpio com formato tar, 
acrescentando-se o parâmetro -H tar
9DCC-IM/UFRJ Profª Valeria M. Bastos
# find /etc -name \* >lista.txt 
# tar -T lista.txt -cf backup.tar
Cria uma lista de arquivos a serem agrupados
e depois criar um tar lendo-a. A vantagem é 
que o tar será executado uma única vez
Compressão de dados(gzip)
� Utilizado na compressão sem perda de dados
� Baseado no algoritmo DEFLATE
� O arquivo compactado tem extensão .gz, entretanto, são 
mantidos o dono, as permissões e as datas de 
10DCC-IM/UFRJ Profª Valeria M. Bastos
mantidos o dono, as permissões e as datas de 
modificação do arquivo
Parâmetros:
-c grava o resultado na saída padrão e mantém o arquivo inalterado
-d descompacta (igual ao comando gunzip)
-l lista informações sobre os arquivos compactados/descompactados
-r compacta/descompacta recursivamente (percorre a estrutura de diretórios 
recursivamente)
-t verifica a integridade do arquivo compactado
Exemplos
$ gzip teste1.txt
$ gzip –c teste1.txt >teste.gz
$ gzip –c teste2.txt >> teste.gz
Compacta o arquivo teste1.txt
O arquivo teste.txt.gz 
substitui o arquivo original
Criam o arquivo teste.gz, que contém 
os arquivos teste1.txt e teste2.txt
11DCC-IM/UFRJ Profª Valeria M. Bastos
$ gzip –c teste2.txt >> teste.gz
# gzip –d teste
# gunzip teste
Descompactando o arquivo teste.gz
Agendamento de tarefas
� Agendamento de tarefas (cron e at)
� O agendamento de tarefas é um recurso muito interessante 
para a administração de sistemas operacionais. 
É possível programar a execução de scripts de manutenção do 
12DCC-IM/UFRJ Profª Valeria M. Bastos
� É possível programar a execução de scripts de manutenção do 
sistema, disparar envio de newsletters, gerar relatórios de 
analises de logs, entre outros
� Podem ser em determinados horários específicos para 
execução ou estabelecer intervalos regulares
cron
� No GNU/Linux estes recursos são implementados pelo cron, 
que pode ser utilizado tanto pelo administrador como pelos 
outros usuários do sistema.
� Implementa uma agenda de tarefas para cada usuário
13DCC-IM/UFRJ Profª Valeria M. Bastos
� Implementa uma agenda de tarefas para cada usuário
� É encarregado de verificar a hora e determinar se existe ou 
não algum programa/comando a ser executado
� Depois de executar a tarefa agendada, o cron envia um e-mail 
para o usuário relatando a saída padrão que seu programa ou 
comando gerou. 
cron
� Para agendar as tarefas é necessário usar o comando 
crontab
� Existem diversas formas de se agendar um comando 
no cron.
14DCC-IM/UFRJ Profª Valeria M. Bastos
no cron.
� Colocar o script em uma dessas pastas:
� /etc/cron.daily (a cada dia)
� /etc/cron.hourly (a cada hora)
� /etc/cron.monthly (a cada mês)
� /etc/cron.weekly (a cada semana)
cron
� É possível alterar o destinatário adicionando ao crontab 
de cada usuário a seguinte linha:
MAILTO= alguem@algum_dominio.com
15DCC-IM/UFRJProfª Valeria M. Bastos
� O daemon cron checa quaisquer alterações no arquivo 
/etc/crontab, no diretório /etc/cron.d/ e no diretório 
/var/spool/cron.a, a cada minuto.
crontab
� Configurando tarefas no crontab
� Todos os crontabs definidos pelo usuário são armazenados 
no diretório /var/spool/cron e executados usando o nome do 
usuário que os criou.
16DCC-IM/UFRJ Profª Valeria M. Bastos
usuário que os criou.
� Para criar um crontab como um determinado usuário, é 
necessário se conectar como este usuário e digitar o 
comando crontab -e para editar o crontab do usuário.
� Ao salvar as alterações do crontab, este é armazenado de 
acordo com o nome do usuário e gravado no arquivo 
/var/spool/cron/nome_do_usuário.
crontab
� Configurando tarefas no crontab
� Opções do crontab:
crontab -e Edita o crontab ou cria um caso ainda não exista; 
crontab -l Mostra o conteúdo do crontab; 
17DCC-IM/UFRJ Profª Valeria M. Bastos
crontab -l Mostra o conteúdo do crontab; 
crontab -r Remove o crontab; 
crontab -v Mostra quando foi a última vez que o crontab foi 
editado (disponível em apenas alguns sistemas).
Arquivo crontab
� Configurando tarefas no crontab
� O crontab controla as tarefas agendadas por cada usuário. 
� Existe um arquivo para o sistema (/etc/crontab) e um para 
cada usuário, localizado em /var/spool/cron/<usuário>. 
18DCC-IM/UFRJ Profª Valeria M. Bastos
cada usuário, localizado em /var/spool/cron/<usuário>. 
O usuário root pode acessar 
o crontab de outros usuários, 
basta informar o nome do 
usuário após as opções 
-r, -l ou -e. 
O arquivo crontab tem o seguinte formato:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando] 
onde:
- - - - -
| | | | |
| | | | +----- dia da semana (0 - 6) (domingo=0)
| | | +------- mês (1 - 12)
| | +--------- dia do mês (1 - 31)
| +----------- hora (0 - 23)
+------------- minuto (0 - 59) 
Criando um crontab...
� Apenas para exemplo, vamos criar este script:
1 – Editar o arquivo “backup.sh” com os comandos
#!/bin/bash
#fazendo backup do /etc
DATA=`date +%Y-%m-%d-%H.%M`
19DCC-IM/UFRJ Profª Valeria M. Bastos
DATA=`date +%Y-%m-%d-%H.%M`
cd /root
tar -cvzf backup-"$DATA".tar.gz /etc
2 – Transforme-o em executável
# chmod +x backup.sh
Este script gera um backup do diretório /etc no diretório 
/root, e para evitar que um backup sobrescreva o outro
ou que tenhamos de ficar renomeando os arquivos a cada
backup, este script gera o arquivo de backup já com data e
horário incluídos em seu nome, como em:
/home/root/backup-2006-09-17-11.44.tar.gz
Criando um crontab...
� Continuando...
3 – Editar o crontab
# crontab –e
20DCC-IM/UFRJ Profª Valeria M. Bastos
É necessário adicionar o período (tempo) que o cron deve 
chamar o script de backup.
Neste exemplo, o script será executado todos os dias as 22hrs.
00 22 * * * /usr/local/bin/backup.sh
Criando um crontab...
� Continuando...
4 - Salve o arquivo e reinicie o cron para que a rotina 
funcione.
21DCC-IM/UFRJ Profª Valeria M. Bastos
# /etc/init.d/cron restart
5 - Para visualizar os agendamentos feitos (por 
usuário), use:
# crontab -l
Criando um crontab...
� Continuando...
6 - Se desejar apagar os agendamentos, digite o 
comando:
22DCC-IM/UFRJ Profª Valeria M. Bastos
# crontab -r
Uso do cron
� Outros exemplos:
Para que o script de backup seja executado diariamente, 
basta copiar o script para /etc/cron.daily
23DCC-IM/UFRJ Profª Valeria M. Bastos
# cp backup.sh /etc/cron/daily
Exemplos
00 3,5,7 * * * root /usr/local/sbin/backup.sh
Diariamente, às 03:00h, 05:00h e 07:00h 
será executado, pelo usuário root, 
o script backup.sh
Às 16:40 dos dias 01 de junho, 
�Agendamento de tarefas (crontab)
24DCC-IM/UFRJ Profª Valeria M. Bastos
40 16 1 6-8 * /home/oracle/sqldump.sh
A especificação do usuário para executar o script é opcional. 
*/5 * * * * php /var/www/cacti/poller.php > /dev/null 2>&1
Às 16:40 dos dias 01 de junho, 
julho e agosto, será executado o 
script sqldump.sh
Executa, a cada 5 minutos, o 
arquivo poller.php com usuário php,
redirecionando a saída de erros para
a saída padrão.
at
� O comando "at" permite agendar tarefas de forma 
semelhante ao cron, e é integrado à interface de linha 
de comando do Linux.
É muito eficiente se aplicado no agendamento de 
25DCC-IM/UFRJ Profª Valeria M. Bastos
� É muito eficiente se aplicado no agendamento de 
tarefas que sejam disparadas somente uma vez.
Sintaxe:
at <quando> <comando>
<quando> pode ser:
now
3am + 2 days
midnight
10:15 april 12
teatime
Os agendamentos ficam armazenados em /var/spool/at/*.
Para conferir os agendamentos do usuário atual, usa-se 
$ at -l ou 
$ atq
Um agendamento pode ser apagado através de seu número 
específico, fornecido para o comando 
$atrm
at
� O at permite o controle dos usuários que podem 
agendar comandos através dos arquivos /etc/at.allow
e /etc/at.deny. Estes arquivos são organizados no 
formato de um usuário por linha.
26DCC-IM/UFRJ Profª Valeria M. Bastos
� Durante o agendamento é verificado primeiro o 
arquivo at.allow (listando que pode executar o 
comando) e depois at.deny. 
� Caso eles não existam, o agendamento de comando é 
permitido a todos os usuários. 
Agendando com o at
echo ls /var/log | at 10am today
echo updatedb | at 10:00pm today
Executa o comando ls às 10 da manhã de hoje
Executa o comando updatedb às 
10 da noite de hoje
27DCC-IM/UFRJ Profª Valeria M. Bastos
echo updatedb | at 10:00pm today
echo netstat | at 14:30 tomorrow
at -f commands.txt teatime 
at -f commands.txt +3 minutes Executa comandos especificados no 
arquivo "commands.txt" daqui a 3 
minutos.
Executa o comando netstat 
às 14:30 da tarde de amanhã
Executa os comandos especificados no 
arquivo "commands.txt" no horário do 
chá da tarde (às 16:00 horas)
nohup
� Permite executar programa de forma "desconectada" 
da sessão atual. 
� Faz com que o processo sendo disparado se torne 
imune ao sinal SIGHUP, ou seja, se o usuário fizer 
28DCC-IM/UFRJ Profª Valeria M. Bastos
imune ao sinal SIGHUP, ou seja, se o usuário fizer 
logout, o comando continuará a rodar em segundo 
plano, emitindo sua saída para o arquivo nohup.out.
� Em combinação com o &, ele permite o disparo de 
programas que permanecerão em execução mesmo 
após o logout do usuário.
nohup
� Sintaxe:
nohup <comando> [<arg>]...
� Exemplo: crie o script
29DCC-IM/UFRJProfª Valeria M. Bastos
Exemplo: crie o script
� Execute o script sem redirecionamento
while(true) 
do 
echo "standard output" 
echo "standard error" 1>&2 
sleep 1; 
done 
nohup
� A saída será:
$ nohup sh custom-script.sh & 
[1] 12034 
$ nohup: ignoring input and appending output to 'nohup.out' 
$ tail -f nohup.out 
standard output 
30DCC-IM/UFRJ Profª Valeria M. Bastos
� Execute o script com redirecionamento
standard output 
standard error
standard output 
standard error
..
nohup
� A saída será:
$ nohup sh custom-script.sh > custom-out.log & 
[1] 11069 
$ nohup: nohup: ignoring input and redirecting stderr to stdout
$ tail -f custom-out.out 
standard output 
31DCC-IM/UFRJ Profª Valeria M. Bastos
standard output 
standard error
standard output 
standard error
..
nohup
� Se você sair de sua sessão e retornar através de login, 
você ainda verá seu custom-script.sh executando em 
background
$ ps aux | grep <seu_usuário> 
32DCC-IM/UFRJ Profª Valeria M. Bastos
seu_usuario 12034 0.0 0.1 4912 1080 pts/2 S 14:10 0:00 sh custom-script.sh

Continue navegando