Este documento fornece instruções sobre administração de sistemas operacionais, incluindo:
1) Gerenciamento de arquivos e diretórios
2) Criação e configuração de usuários
3) Scripts de shell e automatização de tarefas
1. UNIVERSIDADE SÃO TOMÁS DE MOÇAMBIQUE
CURSO DE: TECNOLOGIAS E SISTEMAS DE INFORMAÇÃO
SISTEMAS OPERATIVOS AVANÇADOS
Administração de Sistemas
DOCENTE: dr. Jonnathan Guambe
dr. Jonnathan Guambe Administração de Sistemas
2. Índice
1. Ficheiros e directórios ....................................................................................... 4
1.1. Árvore de directórios .................................................................................. 4
1.2. Identificação de um ficheiro .......................................................................4
1.3. Atributos de um ficheiro .............................................................................4
1.3.1. Nome ................................................................................................... 4
1.3.2. Tipo ..................................................................................................... 4
1.3.3. Dono, grupo e permissões de acesso ..................................................5
1.3.4. Timestamps de criação, acesso e modificação ....................................5
1.4. Acesso a um ficheiro ..............................................................................5
1.5. Exercicios.................................................................................................... 7
2. Administração de usuários ................................................................................8
2.1. Verificando informações do usuário ...........................................................8
2.1.1. Exemplos.............................................................................................. 9
2.2. Tornando-se outro usuário – Comando su e sudo........................................9
2.3. Adicionando usuários – Comando useradd .................................................9
2.3.1. Exemplos.................................................................................................. 9
2.4. Alterando a senha do usuário – comando passwd ....................................10
2.4.1. Exemplos............................................................................................ 10
2.5. Eliminando usuários – Comando userdel ..................................................11
2.5.1. Exemplos............................................................................................ 11
2.6. Modificando o perfil de um usuário – comando usermod .........................11
2.6.1. Exemplo............................................................................................. 11
2.7. Adicionando grupos – comando groupadd ................................................12
dr. Jonnathan Guambe Administração de Sistemas
3. 2.7.1. Exemplos............................................................................................ 12
2.8. Eliminando grupos – Comando groupdel ..................................................12
2.9. Exercicios.................................................................................................. 12
3. Shell Script....................................................................................................... 13
3.1. O que é Shell............................................................................................. 13
3.2. Shell script................................................................................................. 13
3.2.1. Passos para criacao de um shell script ..............................................14
3.2.1.1. Problemas na execução do script................................................15
3.3. Exercícios ................................................................................................. 16
4. Tarefas automatizadas..................................................................................... 16
4.1. Exemplos:.................................................................................................. 17
4.2. Exercicios.................................................................................................. 18
5. Bibliografia....................................................................................................... 18
dr. Jonnathan Guambe Administração de Sistemas
4. 1. Ficheiros e directórios
Os ficheiros são objectos fundamentais nos sistemas operativos UNIX, mais que noutros sistemas
operativos. A forma como se opera sobre um ficheiro é extensível a quase tudo o que interage com o
sistema operativo.
1.1. Árvore de directórios
Do ponto de vista do utilizador, todos os ficheiros estão localizados na árvore de directórios do sistema. E
todos são acessíveis a partir da directório raiz, cujo nome é “/”. A estrutura em árvore assenta no conceito
de directório. Uma directório é um ficheiro que contém uma lista de ficheiros (que podem ser de qualquer
tipo, incluindo o tipo directório).
1.2. Identificação de um ficheiro
Um caminho (path) é uma string que identifica um ficheiro (de qualquer tipo, ou seja, pode identificar um
ficheiro regular, uma directório, um dispositivo...) na árvore de directórios do sistema. Um caminho é
absoluto se começa com o carácter '/ ' (/home/linux/teste.txt); caso contrário é relativo (teste.txt).
1.3. Atributos de um ficheiro
Os ficheiros têm vários atributos, a frente veremos a lista completa desses atributos, de momento segue
uma descrição dos mais relevantes no âmbito da parte prática da disciplina.
1.3.1. Nome
Qualquer ficheiro tem um nome. O nome de um ficheiro é uma string que não pode conter nem caracter
'0' nem o caracter '/'. O caracter '/' é o separador de nomes de ficheiros e directórios no nome dum
caminho; o caracter '0' é o caracter terminador duma string. O nome de um ficheiro obtém-se a partir de
um caminho que identifica o ficheiro, sendo a substring do caminho composta por todos os seus últimos
caracteres a partir da última ocorrência do caracter ‘/’.
1.3.2. Tipo
• Ficheiro regular [-] - é o tipo mais comum de ficheiro; pode conter dados de qualquer tipo (texto
legível por humanos, instruções executáveis pelo processador, comandos interpretáveis por uma
shell, etc.).
• Directório [d] – uma directório é um tipo de ficheiro que contém uma listagem de outros ficheiros
ou directórios.
dr. Jonnathan Guambe Administração de Sistemas
5. • Ficheiro especial [c] – este tipo de ficheiro é usado por dispositivos para input e output, tal como
os ficheiros no directório /dev.
• Fifo (ou named Pipe) [p]– é um tipo de ficheiro utilizado para comunicação entre processos.
• Symbolic Link (atalho ou shortcut) [l] - é um ficheiro que representa um caminho para outro
ficheiro.
• Socket [s] – é um ficheiro especial utilizado para comunicação entre processos tipicamente em
execução em máquinas diferentes interligadas por uma rede de dados.
1.3.3. Dono, grupo e permissões de acesso
Todos os ficheiros têm um dono, um grupo e permissões de acesso. Estes três atributos em conjunto,
permitem decidir que tipo de acesso ao ficheiro pode ser feito por um determinado utilizador do sistema.
1.3.4. Timestamps de criação, acesso e modificação
Os ficheiros têm associados timestamps de acesso, modificação de estado e modificação de atributos e
modificação de conteúdo.
1.4. Acesso a um ficheiro
Para cada ficheiro são definidas permissões para três tipos de acesso: leitura, escrita e execução. Estes três
tipos de acesso são, por sua vez, permitidos ou negados a três conjuntos de utilizadores: o dono do
ficheiro, os utilizadores que pertencem ao grupo do ficheiro e os restantes.
Experimente executar o comando ls com a opção –l. O output é de uma linha por cada ficheiro na
directório actual. Cada linha tem a forma:
Os nove caracteres de cada linha (entre o segundo e o décimo, inclusive), mostram
o estado dos três tipos de acesso, permitido ou negado (um hifen ‘-‘ significa acesso negado, a letra r, w
ou x significa acesso permitido) para cada um dos três grupos de utilizadores (dono, grupo e outros).
dr. Jonnathan Guambe Administração de Sistemas
6. Cada tipo de acesso tem um significado óbvio para os ficheiros de qualquer tipo que não seja directório.
Neste caso, por ser eventualmente menos intuitivo o significado de cada tipo de permissão, e por ser um
tipo de ficheiro muito comum e importante segue o seu significado na tabela abaixo.
Outra questão importante é como é que o sistema decide para um determinado utilizador, para
um dado ficheiro, qual o grupo de utilizadores (owner, group ou others) cujas permissões de
acesso se aplicam. A regra é simples mas tem alguns efeitos inesperados. Se um utilizador é
dono do ficheiro então aplicam-se as permissões do owner. Se um utilizador não é dono mas
pertence ao grupo do ficheiro, aplicam-se as permissões do group. Só nos restantes casos é que
se aplicam as permissões de others.
Veja as páginas de manual dos comandos chmod e chown. Experimente tirar todos os tipos de
permissão ao dono de um ficheiro e mantê-las para o grupo e outros utilizadores. Tente ver o
conteúdo do ficheiro e verifique o que acontece.
1.5. Exercicios
1. Considere a estrutura de directórios representado na figura abaixo:
a) Crie um ficheiro carta.doc no directorio farrusco.
dr. Jonnathan Guambe Administração de Sistemas
7. b) Liste todos os ficheiros cujos nomes começam pela letra "c", localizados
no directorio farrusco.
c) Crie um subdirectorio aves na seu directorio pessoal.
d) Mova para o directorio aves o ficheiro comida.txt, localizado no directorio
farrusco.
e) Posicione-se no directorio criado na operação c) deste grupo de
exercícios, e confirme a sua localização.
f) Liste todos os utilizadores que tenham sessões abertas no mesmo sistema
que você.
g) Guarde a informação dos utilizadores com sessões abertas no sistema
num ficheiro chamado alunos.txt, que deverá ser criado no directorio
gatos (Obs: Deve utilizar apenas um comando para realizar esta tarefa).
h) Copie o ficheiro alunos.txt para o directorio boby.
i) Crie, dentro da directoria miau, um ficheiro com o nome de fic1.txt, cujo
conteúdo deverá ser: "Ola, bom dia!". Deverá usar apenas a linha de
comando (não deverá usar nenhum processador de texto).
j) Altere o nome do ficheiro fic1.txt para fic3.txt
k) Acrescente ao ficheiro fic3.txt a palavra "Mais".
l) Visualize o numero total de palavras, linhas e caracteres do ficheiro
fic3.txt.
m) Copie o ficheiro fic3.txt para o directorio mickey com o nome mmouse.txt.
n) Remova as permissões de escrita sobre todos ficheiros e directorios
localizados em ratos.
o) Tente remover o ficheiro mmouse.txt.
p) Volte a atribuir as permissões de escrita ao directorio ratos.
q) Apague o ficheiro mmouse.txt.
r) Altere o nome do ficheiro .bash_history, localizado na seu directorio
pessoal, para historicocomandos.txt.
dr. Jonnathan Guambe Administração de Sistemas
8. 2. Administração de usuários
O Unix e Linux são sistemas operacionais multi-usuários, portanto é necessário que todos os usuários
sejam cadastrados e tenham permissões de acesso diferenciadas. É possível também cadastra-los em
grupos para facilitar a gestão.
A criação e administração de contas de usuários no sistema são exclusive do super-usuário (root). É uma
tarefa que demanda responsabilidade e deve ser acompanhada com muita atenção.
2.1. Verificando informações do usuário
Todo usuário possui um número chamado user ID com o qual o sistema Unix/Linux identifica-o no
sistema. Além do user ID, os usuários possuem o group ID. Toda vez que um processo for ativado será
atribuído ao processo um User ID e um Group ID. Estes ID's são chamados de identificação efetiva do
processo.
id [ opções ] [ nome ]
2.1.1. Exemplos
• id - Sem parâmetros, lista as informações do usuário actual.
uid=1094(laureano) gid=500(prof) grupos=500(prof)
• id bin - Sem parâmetros, lista as informações do usuário bin.
uid=1(bin) gid=1(bin) grupos=1(bin),2(daemon),3(sys)
• id -u - Lista somente o user id do usuário actual.
1094
2.2. Tornando-se outro usuário – Comando su e sudo
Permite o usuário mudar sua identidade para outro usuário sem fazer o logout. Útil para executar um
programa ou comando como super-usuário sem ter que abandonar a sessão actual.
su [usuário] – onde [usuário] é o nome do usuário que deseja usar para aceder o sistema. Se não
digitado, é assumido o usuário root.
sudo su – comando usado para mudar de sessão para super-usuário ou usuário root. Este comando
somente funciona caso o usuário que esteja a digita-lo pertencer tenha permissões para tal.
Digite exit quando desejar retornar a identificação de usuário anterior.
sudo – executa determinado comando com o ID de root sem mudar a sessão para root.
dr. Jonnathan Guambe Administração de Sistemas
9. Utilize o manual on-line (man) para ver outras opções de utilização dos comandos su e sudo.
2.3. Adicionando usuários – Comando useradd
O comando useradd permite que se criem usuários conforme especificado em opções. Somente o super-
usuário poderá utilizar este comando.
useradd [ opções ] usuário
Este comando irá alterar os arquivos:
• /etc/passwd – informações de contas de usuários;
• /etc/shadow – senhas criptografadas;
• /etc/group – informações de grupos.
2.3.1. Exemplos
• useradd malcolmx - Cria o usuário malcolmx.
• usermod –d /home/malcolmx malcolmx- Cria o usuário malcolmx e designa o directório
/home/malcolmx como o directório pessoal deste.
• usermod –s /bin/sh malcolmx - Cria o usuário malcolmx com o shell sh.
• usermod –g root malcolmx - Cria o usuário malcolmx com o grupo root.
• useradd –d /home/luiscossa –g users –c “Luis Octávio Cossa” luis - Cria o usuário luis com
com várias informações.
O comando useradd tem alguns inconvenientes tais como, não criar o directório home do usuário, não
copiar os ficheiros para inicialização do shell do directório /etc/skel para o directório home do usuário
automaticamente, entre outros. Outra alternativa para adição de usuários e o comando adduser, que é mais
iterativo e efectua certas operações como criação do directório home, criação do grupo, relacionamento
do usuário ao grupo, copia de ficheiros do /etc/skel entre outros, automaticamente.
Utilize o manual on-line (man) para ver outras opções de utilização dos comandos adduser e useradd.
2.4. Alterando a senha do usuário – comando passwd
O comando passwd permite que se troque a senha de determinado usuário. O super-usuário pode trocar a
senha de qualquer outro. O usuário comum, porém, pode trocar somente a sua senha. As senhas são
armazenadas no arquivo /etc/passwd ou /etc/shadow. No arquivo /etc/passwd também é armazenado as
informações relativas aos usuários.
dr. Jonnathan Guambe Administração de Sistemas
10. Em algumas distribuições após a criação do usuário será necessário criar uma senha para este, caso
contrário, não será permitido que este usuário faça login no sistema.
passwd [ usuário ]
2.4.1. Exemplos
• passwd jparc - Alterando a senha de outro usuário (é preciso ser o super-usuário)
• passwd - Alterando a própria senha (usuário comum pode utilizar este comando)
Para sua segurança, deve-se configurar o sistema para que:
• A senha deva ter no mínimo 6 caracteres;
• A senha deva ter no mínimo duas letras maiúsculas e/ou duas letras minúsculas e pelo menos um
dígito ou caractere especial;
• São aceites somente os caracteres ASCII padrão de códigos 0 a 127;
• A senha deve diferenciar do nome da conta (obrigatório);
• A nova senha deve diferenciar da senha velha em pelo menos três caracteres.
As regras acima não se aplicam ao super-usuário.
2.5. Eliminando usuários – Comando userdel
O comando userdel permite que se eliminem usuários do sistema. Somente o super-usuário poderá utilizar
este comando.
userdel [opções] usuário
2.5.1. Exemplos
• userdel jparc - Eliminando a conta do usuário jparc
• userdel –r jparc - Eliminando a conta do usuário jparc e apagando o seu directório home.
2.6. Modificando o perfil de um usuário – comando usermod
Este comando tem a mesma sintaxe e os mesmos parâmetros (existem algumas opções a mais) do
comando useradd, a diferença é que ele modifica ou adiciona informações relativas a um usuário já
cadastrado.
usermod [ opções ] usuário
dr. Jonnathan Guambe Administração de Sistemas
11. 2.6.1. Exemplo
• useradd -d /home/luizotavio –g users –c “Luiz Otávio Laureano” luiz
• tail /etc/passwd
kaminenko:x:1226:1100:Rafael Kaminenko:/home/cc2002-1s/kaminenko:/bin/bash
crazyeye:x:1227:1100::/home/cc2002-1s/crazyeye:/bin/bash
luiz:x:1228:100:Luiz Otávio Laureano:/home/luizotavio:/bin/bash
• usermod –m –d /home/luiz luiz
• tail /etc/passwd
kaminenko:x:1226:1100:Rafael Kaminenko:/home/cc2002-1s/kaminenko:/bin/bash
crazyeye:x:1227:1100::/home/cc2002-1s/crazyeye:/bin/bash
luiz:x:1228:100:Luiz Otávio Laureano:/home/luiz:/bin/bash
Atenção: Ao modificar o directório home de um usuário do sistema, utilize sempre a opção –m para
mover o directório anterior para o novo directório especificado.
2.7. Adicionando grupos – comando groupadd
Para facilitar a administração do sistema, pode-se usar o conceito de grupos de usuários com perfis
semelhantes. Por exemplo, definir grupos conforme os departamentos de uma empresa.
groupadd [ opções ] grupo
Este comando irá alterar os arquivos:
• /etc/group – informações de grupos.
• /etc/gshadow – informações de grupos armazenadas de forma segura (senhas de grupo).
2.7.1. Exemplos
• groupadd vendas - Criando o grupo vendas
• groupadd –g 750 vendas - Criando o grupo vendas com GID 750
2.8. Eliminando grupos – Comando groupdel
O comando groupdel permite que se eliminem grupos do sistema. Somente o superusuário poderá utilizar
este comando.
dr. Jonnathan Guambe Administração de Sistemas
12. groupdel grupo
Atenção: Ao eliminar um grupo do sistema, se existir algum usuário ligado a este grupo, ele ficará
“órfão”.
2.9. Exercicios
1. Informe os comandos e anote o conteúdo dos arquivos /etc/group e do /etc/passwd após cada passo
(utilize o comando tail para visualizar o final do arquivo) e o resultado do comando id.
* Adicionar o usuário aluno01 com ID 600;
* Modificar o shell para o /bin/bash;
* Acrescentar o comentário “Conta de teste do aluno”;
* Criar o grupo alunos;
* Ligar o usuário aluno01 ao grupo alunos.
dr. Jonnathan Guambe Administração de Sistemas
13. 3. Shell Script
3.1. O que é Shell
Antes de saber o que é um script em shell, é importante saber o que é um Shell. O Shell nada
mais é, que o responsável entre a comunicação do usuário com o Kernel do sistema. Para isso,
basta que o usuário conheça os comando e sintaxes apropriadas há este Shell.
O kernel é quem acessa os equipamentos (hardware) da máquina, como disco rígido, placa de
vídeo e modem. Por exemplo, para o usuário ler um arquivo qualquer, toda esta hierarquia é
seguida:
USUÁRIO --> SHELL --> KERNEL --> DISCO RÍGIDO
Para os usuários do Windows, é fácil pensar no shell como um MSDOS melhorado. Ao invés do
C:> aparece um [root@localhost root]#, mas o funcionamento é similar. Basta digitar um
comando, suas opções e apertar a ENTER que ele será executado.
O shell é muito mais poderoso que MSDOS. Além dos comandos básicos para navegar entre
directórios e manipular arquivos, ele também possui todas as estruturas de uma linguagem de
programação, como IF, FOR, WHILE, variáveis e funções. Com isso, também é possível usar o
shell para fazer scripts e automatizar tarefas.
3.2. Shell script
Um script é um arquivo que guarda vários comandos e pode ser executado sempre que preciso.
Os comandos de um script são exactamente os mesmos que se digita no prompt, é tudo shell.
Por exemplo, se de tempos em tempos você quer saber informações do sistema como horário,
ocupação do disco e os usuários que estão logados, é preciso digitar três comandos:
[root@localhost root]# date
[root@localhost root]# df
[root@localhost root]# w
É melhor fazer um script chamado "aloscript" e colocar estes comandos nele. O conteúdo do
arquivo "aloscript" seria o seguinte:
dr. Jonnathan Guambe Administração de Sistemas
14. #!/bin/bash
date
df
w
E para chamar este script, basta agora executar apenas um comando:
[root@localhost root]# aloscript
Isso é um shell script. Um arquivo de texto que contém comandos do sistema e pode ser
executado pelo usuário.
3.2.1. Passos para criacao de um shell script
O primeiro shell script a fazer será o "aloscript" do exemplo anterior, de simplesmente juntar
três comandos em um mesmo script. A seguir estão os passos:
1. Escolher um nome para o script
Já temos um nome: aloscript.
Use apenas letras minúsculas e evite acentos, símbolos e espaço em branco
2. Escolher o directório onde colocar o script
Para que o script possa ser executado de qualquer parte do sistema, mova-o para um
directório que esteja no seu PATH. Para ver quais são estes directórios, use o comando:
echo $PATH
Se não tiver permissão de mover para um directório do PATH, deixe-o dentro de seu
directório pessoal ($HOME).
3. Criar o arquivo e colocar nele os comandos
Use o nano, VI ou outro editor de textos de sua preferência para colocar todos os
comandos dentro do arquivo.
4. Colocar a chamada do shell na primeira linha
#!/bin/bash
dr. Jonnathan Guambe Administração de Sistemas
15. Isto possibilita que a script ao ser executada, o sistema saiba que o bash é quem irá
interpretar estes comandos.
5. Tornar o script um arquivo executável
Use o seguinte comando para que seu script seja reconhecido pelo sistema como um
comando executável:
chmod +x aloscript
3.2.1.1. Problemas na execução do script
• "command not found"
Significa que o shell não encontrou o seu script, verifique se o comando que você está
chamando tem exactamente o mesmo nome do seu script. Lembre-se que o Unix/Linux é
case sensitive, então o comando "ALOSCRIPT" é diferente do comando "aloscript".
Caso o nome esteja correto, verifique se ele está no PATH do sistema. O comando "echo
$PATH" mostra quais são os directórios conhecidos, mova seu script para dentro de um
deles, ou chame-o passando o caminho completo.
Se o script estiver no directório corrente, chame-o com um "./" na frente, assim:
./aloscript Caso contrário, especifique o caminho completo desde o directório raiz:, por
exemplo: /home/aulas/aloscript
• "Permission Denied"
Significa que o shell encontrou seu script, mas ele não é executável.
Use o comando "chmod +x seu-script" para torná-lo um arquivo executável.
• "Sintax Error"
Significa que o shell encontrou e executou seu script, porém ele tem erros.
Um script só é executado quando sua sintaxe está 100% correta. Verifique os seus
comandos, geralmente o erro é algum IF ou aspas que foram abertos e não foram
fechados. A própria mensagem informa o número da linha onde o erro foi encontrado.
dr. Jonnathan Guambe Administração de Sistemas
16. 3.3. Exercícios
1. Escreva um script chamado clean para limpar seu directório $HOME, removendo todos
os arquivos com extensão "bak" ou "~" que não tenham sido acessados há pelo menos 3
dias. Dica: use os comandos find e rm e a avaliação por aspas inversas.
2. Escreva um script para criar directórios com nome DirX, onde X varia de 1 a 99, usando
a instrucao “for”.
4. Tarefas automatizadas
Suponha que você seja dono de um serviço de hospedagem de sites e diariamente precisa disponibilizar,
numa pasta acessível por FTP, o arquivo de log de acessos de um cliente. Seria trabalhoso fazer isso
manualmente e na pior das hipóteses, você poderia esquecer. O Linux contem um o serviço cron, que
permite a realização de tarefas periodicamente e em determinadas datas ou dias especificadas por você,
ou seja, cron é uma ferramenta que permite programar a execução de comandos e processos de maneira
repetitiva ou apenas uma única vez.
Para executar as tarefas, o cron usa uma espécie de tabela conhecida como crontab. O arquivo crontab
geralmente fica localizado em /etc/crontab, mas também pode estar em um directório que cria um crontab
para cada usuário do sistema, geralmente em /var/spool/cron/.
Nos ficheiros de configuração existem algumas linhas que são usadas como variáveis para configurar o
ambiente no qual as actividades do cron são executadas. O valor da variável SHELL diz ao sistema qual
ambiente shell deve usar (neste exemplo, a shell bash), e a variável PATH define a localidade usada para
executar comandos. O output das tarefas do cron é enviado por e-mail ao nome do usuário definido na
variável MAILTO. Se a variável MAILTO for definida com um campo vazio (MAILTO="") ou omitida,
o e-mail não será enviado. Pode-se usar a variável HOME para definir o directório raiz a ser usado ao
executar comandos ou scripts.
O primeiro passo é abrir o crontab. Para isso, você pode usar editores de textos como vi e o emacs.
Também é possível digitar o comando "crontab -e" para editar o arquivo exclusivo de seu usuário. Em
alguns, a edição é feita como se você estivesse usando o nano.
O crontab tem o seguinte formato:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]
dr. Jonnathan Guambe Administração de Sistemas
17. O preenchimento de cada campo é feito da seguinte maneira:
• Minutos: informe números de 0 a 59;
• Horas: informe números de 0 a 23;
• Dias do mês: informe números de 1 a 31;
• Mês: informe números de 1 a 12;
• Dias da semana: informe números de 0 a 6;
• Usuário: é o usuário que vai executar o comando (não é necessário especifica-lo se o arquivo do
próprio usuário for usado);
• Comando: a tarefa que deve ser executada.
Repare que a ordem desses valores indica o nome correspondente do campo. Por exemplo, no campo mês,
1 a 12 quer dizer de "Janeiro a Dezembro". No caso de dias da semana, 0 a 6 quer dizer de "Domingo a
Sábado". Note que o número 7 também pode ser usado. Neste caso, assim como o número 0, o 7 equivale
ao dia de "Domingo".
No lugar desses valores, você pode informar * (asterisco) para especificar uma execução constante. Por
exemplo, se o campo dias do mês conter *, o comando relacionado será executado todos os dias.
Você também pode informar intervalos no preenchimento, separando os números de início e fim através
de - (hífen). Por exemplo, se no campo horas for informado 2-5, o comando relacionado será executado às
2, 3, 4 e 5 horas. E se o comando tiver que ser executado às 2 horas, entre 15 e 18 horas e às 22 horas?
Basta informar 2,15-18,22. Nestes casos, você separa os parâmetros por vírgula.
Na configuração de tarefas automatizadas por vezes e útil usar comentários para inserir descrições quando
se tem várias tarefas a serem executadas, para tal devera inserir # e tudo o que for digitado na linha não
será considerado pelo cron.
4.1. Exemplos:
#Executa a script a cada 7 minutos
*/7 * * * * /home/user/test.pl
# Regista o consumo de memoria todas as segundas feiras as 3:30AM no ficheiro /tmp/meminfo
30 3 * * mon cat /proc/meminfo >> /tmp/meminfo
# Executa determinada script no dia 1 de todos os meses as 4:10AM
dr. Jonnathan Guambe Administração de Sistemas
18. 10 4 1 * * /root/scripts/backup.sh
4.2. Exercicios
1. Crie um cron que a 1:0AM de todas as terças-feiras grava o historico de comandos no ficheiro
/tmp/cmdhistory.
2. Crie um cron remove todos os ficheiros e directórios do directório home do usuario aluno01
(use /home/aluno01 com directório home) as 18 horas do dia 1 de Junho.
3. Crie um cron que a cada 5 minutos grava historico dos usuarios logados no ficheiro
/tmp/loggedinusers (Dica: use o comando who).
5. Bibliografia
• http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
• http://www.gnu.org/manual/bash-2.02/bashref.html
• http://sh.underlinux.com.br
• Hudson, A. & Hudson, P.,”Ubuntu Unleashed”, Sams.
• Hagen W. V.(2007), “Ubuntu® Linux® Bible”, Wiley Publishing, Inc.
dr. Jonnathan Guambe Administração de Sistemas