De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


O programa calendar

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 26 de Setembro de 1997

Uma solução bastante simples para uma agenda eletrônica, tanto para se configurar e usar, ao menos na minha opinião, é o programa calendar.

Este programa consulta um arquivo chamado calendar, criado pelo próprio usuário, em seu diretório home, e identifica os compromissos do dia corrente e do dia seguinte. Nas sextas feiras são exibidos também os compromissos da segunda feira.

Você pode também especificar compromissos que você tem todos os anos em determinados dias, tal como aniversários, exame da próstata :), etc.

A sintaxe pode ser algo do tipo:

  sep 30 Levar o cachorro no veterinário
  september 30  Levar o cachorro no veterinário

Neste caso, no dia 30 você tem este compromisso. Já a linha

  */01  Cartao de Ponto

irá gerar, em todos os meses, no primeiro dia de cada mês e no dia anterior, uma mensagem solicitando o preenchimento do cartão de ponto.

  september 30  Levar o cachorro no veterinário

Para invocar o comando calendar, você pode criar uma entrada na crontab:

  0 0 * * * calendar

Quando invocado desta forma, uma mensagem é enviada ao dono do arquivo calendar em questão com a lista de seus compromissos para o dia.

O comando calendar aceita a flag "-". Neste caso serão verificados os diretórios home de todos os usuários procurando por arquivos chamados calendar para então processá-los.

Eu particularmente prefiro colocar a chamada ao comando calendar dentro do meu arquivo .profile (eu uso ksh). Desta forma, sempre que crio uma janela em minha estação de trabalho, eu sou lembrado dos meus compromissos do dia, o que para mim é ótimo.

Error: No site found with the domain 's2.dicas-l.com.br' (Learn more)