Comandos Linux para Totós – Tutorial nº20

13 Comentários

Pré-programação de tarefas com o crontab

Ora vivam caros Linuxianos (quase Gurus) !!! Cá estamos nós para mais uma rubrica “Comandos Linux para Totós”. Hoje é um dia especial pois acabamos de chegar à vigésima rubrica e parece-me que já temos um grupo de leitores fiéis à mesma!

Já têm o terminal preto pronto? Lets go…hoje vai ser em piloto automático!

linux_totos


Hoje vamos reeditar um dica que publicamos em 2007 sobre o crontab (ver aqui).

Mas o que é o crontab e para que serve?

O cron é um serviço unix que permite que tarefas sejam executadas, automaticamente, modo background em intervalos regulares pelo deamon da cron. Estas tarefas são normalmente designadas por “cron jobs” em unix. Basicamente, através do serviço crontab podemos agendar determinadas tarefas como por exemplo: realizar backups a uma determinada hora/dia, recolher automaticamente informações de serviços, analisar logs, etc etc.

Os pontos seguintes resumem as funcionalidades do crontab:

  1. Restrições do crontab
  2. Comandos do crontab
  3. Ficheiro do crontab – sintaxe
  4. Exemplo do crontab
  5. Ambiente do crontab
  6. Desabilitar email
  7. Gerar ficheiro de registo da actividade do cron

crontab_00

1. Restrições do crontab

Pode executar o crontab se o seu username constar do ficheiro/usr/lib/cron/cron.allow. Se esse ficheiro não existir, poderá executar o crontab se o seu username não constar do ficheiro/usr/lib/cron/cron.deny.

2. Comandos do crontab

Deve ser executado o comando “export EDITOR=nano” para especificar um editor de texto para abrir o ficheiro do crontab. Neste caso o editor definido foi o nano.

crontab_01

3. Ficheiro do crontab – sintaxe

Sintaxe do crontab: O ficheiro do crontab é composto por cinco campos para especificar o dia, a data e a hora seguido pelo comando a ser executado nessa altura.

crontab_02

4. Exemplo de Crontab

Uma linha na crontab como a que está em baixo remove os ficheiros temporários de /home/someuser/tmp each day às 18:30 de cada dia.

30 18 * * * rm /home/someuser/tmp/*

Alterando os valores dos parâmetros, como mostrado abaixo, irá provocar que este comando corra a diferentes horas (ou datas):

min| hora| dia do mes| mes| dia da semana| data/hora de execução

crontab_03

5. Variáveis de ambiente da Crontab

A crontab invoca os comandos a partir da directoria /home do utilizador, dentro da shell (/usr/bin/sh). No entanto é possível definir variáveis de ambiente para cada shell:

  • HOME=user’s-home-directory
  • LOGNAME=user’s-login-id
  • PATH=/usr/bin:/usr/sbin:.
  • SHELL=/usr/bin/sh

6. Desactivar email

Por omissão a crontab envia uma mensagem de correio electrónico por cada comando executado. Caso não pretenda que esta mensagem seja enviada deve adicionar a seguinte linha ao final de cada comando da cron.

> /dev/null 2>&1

7. Gerar ficheiro de log

Para recolher logs de execução da cron num ficheiro:

30 18 * * * rm /home/user/tmp/* > /home/user/cronlog /clean_tmp_dir.log

Por hoje é tudo! Espero que estejam a aproveitar estes tutoriais para aumentar ainda mais o vosso conhecimento sobre Linux e aguardo ansiosamente o vosso feedback. E os vossos contributos? Alguém quer contribuir com artigos? mail me :)

Artigos relacionados

 

Comentários

13

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Miguel Duque
    Miguel Duque

    Formidável o pplware, continuem pessoal a incentivar as pessoas para linux, para mim não existe nada mais rentável, só tenho pena não ser 100% compativel com o meu 1215N (hmdi,hibernação etc) e de certas aplicações que utilizo não serem compatíveis com linux.

    1. Avatar de André Silva

      Peço desculpa pelo offtopic, mas também tenho um Asus 1215N e a minha experiência com Linux, concretamente Debian, não foi muito positiva, por causa dos drivers proprietários. Que distribuição estás a usar? Os drivers da Nvidia funcionam corretamente, sem deixar o sistema na ordem dos 50/60ºC de temperatura?

      1. Avatar de Pedro Pinto

        Usa o Ubuntu ou o Mint. Actualmente são as distribuições mais user-friendly.

  2. Avatar de serva
    serva

    Bom , este foi fantástico , já ando a fazer experiências , de facto a consola é super poderosa , este artigo fez-me sentir bem pequenino , a 6 anos a usar Linux e tanta coisa que desconheço , estou a espera de umas revistas que encomendei , para aprofundar mais os meus conhecimentos e eventualmente dar um primeiros passos na área da programação que confesso me fascina .

    Muito obrigado por este excelente artigo , agora fiquei com agua na boca e vou ter de saber mais sobre estes comandos , as potencialidades de agendamento de tarefas são quase ilimitadas Pedro .

    Aceita os meus sinceros cumprimentos

    Serva

    1. Avatar de Pedro Pinto

      Revistas??? Com o pplware online????

  3. Avatar de Vitor
    Vitor

    Esse eu nunca havia ouvido falar. Excelente dica!

  4. Avatar de serva
    serva

    Pedro , não são revistas , são de facto livros , mas que se chamam revistas Linux e só consegui encontrar no Brasil , pelo menos na língua de Camões .

    Cumprimentos

    Serva

    1. Avatar de Pedro Pinto

      Mas o que andas tu a aprender? Linux? Se precisares partilho-te uns bons livros

      1. Avatar de francsico
        francsico

        partilha para toda a gente se possivel

  5. Avatar de Jeton90
    Jeton90

    Boas Pedro Pinto e obrigado por mais umas dicas

  6. Avatar de Luis Simões
    Luis Simões

    Boas!

    Se calhar já alguém sugeriu, não sei. Mas seria possível começar a disponibilizar este pequeno, grande tutorial em *.pdf para a malta poder fazer download?
    Não é por mal, mas da-me mais jeito ler em papel e mesmo para estar a “brincar” no computador, é mais fácil para mim aprender se for em papel. se tiver o site aberto enquanto testo os comandos, tenho sempre a mania de fazer copy/past, enquanto que se tiver de ler e escrever, vou aprendendo muito mais rápido tudo isto 🙂
    Respeito muito o meio ambiente, mas que dava mais jeito dava:)

    @Pedro Pinto “Revistas??? Com o pplware online????”
    Não me leves a mal, respeito muito este blog e todos os que diariamente fazem este excelente trabalho, bem como os fiéis seguidores, onde me incluo. Mas para aprender continuo a preferir o papel 🙂

    cumprimentos

    1. Avatar de Pedro Pinto

      Compra um tablet e tudo muda 🙂

      1. Avatar de Luis Simões
        Luis Simões

        Peço desculpa, juro que nunca tinha reparado nos icons no final do tutorial, onde posso imprimir e guardar em *.pdf
        além de que no tutorial anterior (nº19) já alguém tinha feito a mesma pergunta. e foi lá que eu vi a resposta também 🙂
        mas um tablet também não era má ideia 🙂 vou pedir ao meu patrão como prenda de natal:)

        Já agora um off topic. não tenho um tablet, tenho EeePC, que vinha com o windows XP. na altura troquei para o ubunto, mas mesmo assim acho que o computador podia ter ficado mais rápido. Minha pergunta, qual a versão Linux que me aconselham para este tipo de computador? pelo que andei a ler acho que existe mesmo um ubuntu para netbooks, basicamente procuro uma versão o mais leve possível mas que funcione bem. Isto porque o ubuntu que instalei corre 5* instalou as drives todas tudo certinho, mas fica um bocadito lento. tentei o linux puppy, mas as drives não foram instaladas 🙁
        queria uma versão de linux leve e funcional para o eeePC 1001.

        obrigados