Utilizando o crontab
Como utilizar o cron e os arquivos crontab para automatizar as tarefas do Linux, agendando qualquer tipo de coisa. Ótimo para quem quer poupar tempo e trabalho!
O “cron” é um programa de “agendamento de tarefas”. Com ele você pode programar para ser executado qualquer coisa numa certa periodicidade ou até mesmo em um exato dia, numa exata hora. Um uso bem comum do cron é o agendamento de tarefas administrativas de manutenção do seu sistema, como por exemplo, procura por links simbólicos quebrados, análise de segurança do sistema, backup, entre outros. Estas tarefas são programadas para todo dia, toda semana ou todo mês, serem automaticamente executadas através do crontab e um script shell comum. A configuração do cron geralmente é chamada de crontab.
Os sistemas Linux possuem o cron sempre presente. Pelo menos eu nunca vi nenhuma distribuição que não incluísse o tão útil cron. A configuração tem duas partes: Uma global, e uma por usuário. Na global, que é o root quem controla, o crontab pode ser configurado para executar qualquer tarefa de qualquer lugar, como qualquer usuário. Já na parte por usuário, cada usuário tem seu próprio crontab, sendo restringido àpenas ao que o usuário pode fazer (e não tudo, como é o caso do root).
Para configurar um crontab por usuário, utiliza-se o comando “crontab“, junto com um parâmetro, dependendo do que você quiser fazer. Abaixo uma relação:
| Comando | Função |
| crontab -e | Edita o crontab atual do usuário |
| crontab -l | Exibe o atual conteúdo do crontab do usuário |
| crontab -r | Remove o crontab do usuário |
Se você quiser verificar os arquivos crontab dos usuários, você precisará ser root. O comando crontab coloca os arquivos dos usuários no diretório:
/var/spool/cron/usuario
Onde “usuario” corresponde ao usuário dono do arquivo crontab.
Agora se você quiser editar o crontab global, este fica no arquivo “/etc/crontab“, e só pode ser manipulado pelo root. E agora que já sabemos onde ficam os arquivos de configuração, vamos estudar o formato da linha do crontab, que é quem vai dizer o que executar e quando. Vamos ver um exemplo:
0 4 * * * who
Então como se pode ver, a linha é dividida em 6 campos separados por tabs ou espaço:
| Campo | Função |
| 1o. | Minuto |
| 2o. | Hora |
| 3o. | Dia do mês |
| 4o. | Mês |
| 5o. | Dia da semana |
| 6o. | Programa para execução |
Todos estes campos, sem contar com o 6o., são especificados por números. Veja a tabela abaixo para os valores destes campos:
| Campo | Valores |
| Minuto | 0-59 |
| Hora | 0-23 |
| Dia do mês | 1-31 |
| Mês | 1-12 |
| Dia da semana | 0-6 (o “0″ é domingo), 1 é segunda, etc. |
Então o que nosso primeiro exemplo estava dizendo? A linha está dizendo: “Execute o comando ‘who’ todo dia de todo mês sendo o dia qualquer dia da semana, às 4 horas e 0 minutos.“. Vamos pegar mais exemplos para analisar:
1,21,41 * * * * echo "Meu crontab rodou mesmo!"
Aqui está dizendo: “Executar o comando do sexto campo toda hora, todo dia, nos minutos 1, 21 e 41“.
30 4 * * 1 rm -rf /tmp/*
Aqui está dizendo: “Apagar todo conteúdo do diretório /tmp toda segunda-feira, as 4:30 da manhã.“.
45 19 1,15 * * /usr/local/bin/backup
Aqui está dizendo: “Executar o comando ‘backup’ todo dia 1 e 15 às 19:45.“.
E assim você pode ir montando inúmeros jeitos de agendamento possível. No arquivo do crontab global, o sexto campo pode ser substituído pelo nome do usuário, e um sétimo campo adicionado com o programa para a execução, como mostro no exemplo a seguir:
0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg
Aqui está dizendo: “Executar o mrtg como usuário root, durante 5 e 5 minutos dos minutos 0-59. Ou seja, executar de 5 em 5 minutos o mrtg sempre.“.
Em alguma distribuições, os agendamentos mais comuns estão programados para serem executados. Veja as linhas abaixo:
01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
O programa “run-parts” executa todos os scripts executáveis dentro de um certo diretório. Então com essas linhas, temos diretórios programados para executar programas de hora em hora, diariamente, semanalmente ou mensalmente. Abaixo a tabela:
| Diretório | Período |
| /etc/cron.hourly | De hora em hora |
| /etc/cron.daily | Diariamente |
| /etc/cron.weekly | Semanalmente |
| /etc/cron.monthly | Mensalmente |
Então todos os arquivos executáveis dentro de cada diretório serão executados no seu correspondente período. Ou seja, posso colocar um certo conteúdo no arquivo “/etc/cron.daily/teste“, depois torná-lo executável através do comando “chmod +x /etc/cron.daily/teste“, e então ele será executado todo dia as 4:02 da manhã.
Bem é isso! Agora você já pode programar suas tarefas para serem automaticamente executadas e te poupar muito trabalho manual :)
Gostou?
Imprimir esta página
Leia também:
- Utilizando o bash
- Utilizando Proxy no Wordpress e PHP
- Gerando relatórios do Squid com o SARG
- Permissões
- Manipulação de Usuários






(8 votos, média: 4,75 de 5)
20 de mar de 2008 em 1:13 pm
Muito show, me ajudou bastante para tornar meu modelo operacional…agradeço.
Augusto Barbosa
18 de abr de 2008 em 10:05 am
Parabéns.
05 de mai de 2008 em 7:01 am
Muito bom, me ajudou muito nas aulas da faculdade.
20 de mai de 2008 em 11:17 am
Muito útil mesmo, sou administrador de Sistemas AIX, e fiz uso de algumas linhas para incluir na minha crontab, realmente um ótimo post.
20 de mai de 2008 em 11:51 am
Realmente muito bom.
Parabéns
21 de mai de 2008 em 3:59 pm
Gostaria de utilizar o Contrab para restartar um serviço, tipo Openvpn, mas só gostaria de restart esse serviço caso ele estivesse down.
Enfim, primeiro gostaria de verificar o status do serviço, caso estivesse parado restartasse.
Teria como fazer essa configuração ???
21 de mai de 2008 em 4:00 pm
Gostaria de utilizar o Contrab para restartar um serviço, tipo Openvpn, mas só gostaria de restartar esse serviço caso ele estivesse down.
Enfim, primeiro gostaria de verificar o status do serviço, caso estivesse parado restartasse.
Teria como fazer essa configuração ???
26 de mai de 2008 em 9:18 am
Alguém sabe acionar um script php em um servidor web usando o crontab? Tente mas não fui feliz.
28 de mai de 2008 em 4:26 pm
Marcilio:
Você podes criar um script shell que faça os testes necessários e agendar este script.
Claudio:
Uma solucao muito simples, seria fazer um wget <url>.
27 de jun de 2008 em 1:35 pm
Muito bom! Achei outro exemplo mas estava errado! Valew!!!
04 de ago de 2008 em 7:26 pm
muito bom
08 de set de 2008 em 3:41 pm
Obrigado. Muito útil
11 de set de 2008 em 11:11 pm
Claudio ele roda o php direto, um exemplo e que é utilizado por um software de monitoramento CACTI é esse:
*/5 * * * * root php /usr/share/cacti/poller.php > /dev/null 2>&1
ele chama o comando php e depois o arquivo php
19 de set de 2008 em 9:05 am
Luciano,
pra que raios é essa parte do comando que voce sugeriu para roda o script php? >&1
19 de set de 2008 em 10:42 am
Oi Fernando, ao final do power.php, ele manda toda a saída do programa (caso ele gere alguma mensagem) para o /dev/null, ou seja, pro espaço!
> /dev/null
É a mesma coisa que fazer 1> /dev/null. Logo após isso, quando ele usa o 2>&1, ele está dizendo para mandar o STDERR (saída de erros do programa) para o mesmo lugar que a saída de mensagens, ou seja, /dev/null.
Resumindo, o “> /dev/null 2>&1″ no final de qualquer comando faz com que tudo que ia ser mostrado não apareça. Estou para fazer um tutorial sobre essas coisas do shell em breve! ;)
30 de set de 2008 em 12:01 pm
Muito bom… parabéns.
Gostaria apenas de fazer uma pergunta. É necessário efetuar o restart de algum serviço?
30 de set de 2008 em 1:20 pm
@Valney:
Não, não é necessário reiniciar nenhum serviço. O crontab por padrão é iniciado automaticamente em todas as distribuições. Se você quiser conferir, basta apenas ver se o processo “crond” existe:
$ ps aux | grep crond20 de out de 2008 em 8:26 am
Parabéns Hugo!
Excelente artigo com uma ótima didática utilizada.
Simples e objetivo.
20 de out de 2008 em 12:37 pm
Excelente artigo
07 de nov de 2008 em 1:45 pm
Excelente Hugo!
Até para um leigo e iniciante em LINUX está superfácil entender as mágicas que se pode fazer deixando o LINUX trabalhar sozinho para gente! Valeu!
28 de nov de 2008 em 3:11 pm
Na verdade pode ser feito qualquer coisa.
e so fazer um scriopt e jogar na pasta.
Porem se esse script pedir alguma informçao, do tipo
entre com:
1 para escolha 1
2 para escolha 2
etc
nao sei se o crond abriria um terminar e jogaria isso para vc na tela
01 de mar de 2009 em 6:24 am
Olá, gostaria de saber como posso usar o contrab para fazer um backup da minha base de dados.
Tenho um script php que me retorna toda o cod SQL ou então me retorna o arquivo sql pra download.
Gostaria de saber se tem como fazer ele executar o script e me mandar por email o arquivo SQL. tem como ?
16 de mar de 2009 em 3:07 am
muito bom !!
tem como rodar o cron no apache ?
tem um processo que roda no apache e nunca consegui o cron fazer rodar ele !!
tem como ?
16 de mar de 2009 em 8:47 am
@zumzum
O que é rodar o cron no Apache? O cron é algo separado do Apache, se você estiver se referindo a rodar uma página do Apache (exemplo, script PHP), então você deve programar o crontab para executar um comando do tipo:
wget http://host/pagina.php
16 de mar de 2009 em 1:45 pm
oi.
o que eu queria dizer era :
como fazer para reniciar este processo :
apache 13715 1 0 18:49 ? 00:00:03 ./mboxx86
isto foi um copy/paste do puty .
16 de mar de 2009 em 2:31 pm
@zumzum
Você pode usar o comando kill para matar/reiniciar um processo. Basta então programar o comando kill no crontab. Exemplo:
*/10 * * * * killall -HUP mboxx86
Isso manda o sinal HUP para todos os processos que tem mboxx86 no nome. Você pode utilizar o kill e for pelo PID, ou pode criar um shell-script que mate e execute novamente o processo com o su… Tipo:
su apache -c “mboxx86″
Mais informações sobre o comando kill e processos aqui.
16 de mar de 2009 em 4:22 pm
@Hugo Cisneiros
obrigado pela sua resposta.
o comando kill não é problema, o problema é depois o rodar o bin de novo sobre o apache !!
exemplo:
killall -9 mboxx86
sleep 1
su apache -c mboxx86
será correto ?
20 de mar de 2009 em 1:15 pm
nãp estou conseguindo !!
fiz assim:
#! /bin/bash
killall gboxx86 &
cd /var/www/html/gbox/gbox
sudo -u apache ./gboxx86 1>/dev/null 2>/dev/null &
echo “Gbox Reiniciou Automaticamente as >>” `date` >> /var/www/html/gbox/gbox/gbox_status.txt
na linha de comandos roda na prefeição !!
mas depois no crontab, nada acontece !!
podes dar um ajuda ?
05 de abr de 2009 em 7:22 pm
Cara eu sou novato em comandos LINUX, mas eu acho que o problema ai nesse seu comando é o uso do “sudo” na 4ª linha.
Eu tive problemas com a utilização do sudo pra fazer backup’s automatizados de uma máquina linux pra outra também linux!
A Solução pro meu caso foi retirar o sudo da linha de comando pois o root não precisa do sudo para executar as linhas de comando!
Espero ter ajudado e que seu script tenha sucesso!
Abraço
19 de mai de 2009 em 9:22 am
Queria saber como programar para alterar papel de parede de hora em hora ou dia em dia, onde fica a linha de comando que faz isso ?
17 de ago de 2009 em 5:10 pm
Estou tentando executar um cron como root e não estou conseguindo, não acontece nada e quando eu salvo aparece: You have new mail in /var/spool/mail/web1_plinio
Código:
#removendo arquivo de texto
* * * * * rm -rf /var/www/web1/log/robots.txt
17 de ago de 2009 em 5:19 pm
Ops, foi assim que eu tentei
#removendo arquivo de texto
* * * * * root rm -rf /var/www/web1/log/robots.txt
28 de ago de 2009 em 4:46 pm
Qual o comando no crontab para executar um arquivo de seg a sexta de 40 em 40min de hora em hora
24 de set de 2009 em 3:37 pm
Sou iniciante no linux, mais tento em base o artigo a cima, o crontab ficaria assim, não tenho como testar agora:
0-59/40 * * * 1-5 /caminho/seu_comando
para executar de seg a sexta em 40 em 40 mim
e para hoja e hora ficaria assim:
40 * * * 1-5 /caminho/seu_comando
Aqui irá executar sempre que for hora e 40 (1:40, 2:40, 3:40 …) de segunda a sexta.
04 de out de 2009 em 10:28 am
Muito bom seu site cara. Principalmente porque você sabe explicar muito bem os assuntos!!!
10 de dez de 2009 em 12:38 pm
Ficou muito bom mesmo,
ajudou bastante!
02 de jan de 2010 em 9:47 am
Muito boa esta matéria, é incrível o que o mundo linux nos permite fazer com tanta facilidade, como também pessoas que estão sempre dispostas a ajudar.
Vlw.
06 de jan de 2010 em 8:38 am
Excelente. Estava precisando agendar um backup e tirou todas as minhas duvidas de uma vez. Muito bom mesmo.
01 de mar de 2010 em 10:05 am
Muito bom!!!
Apenas estou com um problema, tenho agendado um script para rodar toda segunda-feira pela manhã, porém não posso rodar quando a segunda-feira for dia 1, 2 ou 3.
Então meu crontab ficou assim.
0 7 4-31 * 1 “Comando”
A minha dúvida é a seguinte, hoje dia 1 ele rodou e não deveria, sabem me dizer se existe prioridade por exemplo, pedi para rodar nas segunda, ele da prioridade para este campo, e descarta o campo dia, no caso “4-31″?
Desde ja obrigado.
01 de mar de 2010 em 10:17 am
@MIchel:
Dá página de manual do crontab (5):
“Nota: O dia da execução do comando pode ser especificado por dois campos – dia do mês e dia da semana. Se os dois campos estiverem configurados (ou seja, sem usar o *), o comando será executado quando qualquer um dos campos corresponder ao dia atual. Por exemplo, “30 4 1,15 * 5″ fará com que o comando seja executado as 4:30 da manhã no dia 1 e no dia 15, e também em todas as Sextas-feiras.”
Ou seja, não dá para usar essa regra que você quer no crontab. Mas tem uma solução, via shell-script. Se você colocar no começo do script que será colocado no cron, por exemplo estas linhas:
DIA=`date +%d`
if [ $DIA = "01" ]; then exit
elif [ $DIA = "02" ]; then exit
elif [ $DIA = "03" ]; then exit
fi
Assim, se for dia 1, dia 2, ou dia 3, ele vai sair do script e não executará o resto. Então no crontab você só vai precisar mesmo programar para toda segunda-feira.
06 de mar de 2010 em 7:42 am
Olá amigos,
Parabens pelo artigo e ele tem me ajudado muito, so gostaria de uma ajuda.
Possuo um arquivo que esta localizado no seguinte endereço…
http://sitedaweb/admin/backup.php
Não estou conseguindo fazer com que o crontab executo o arquivo mencionado acima, nao sei c estou errando no endereço, alguem pode me ajudar?
30 de jun de 2010 em 6:30 am
[...] editá-lo. Abaixo alguns links que explicam isso: Crontab – Wikipédia, a enciclopédia livre Utilizando o crontab – Devin Também é possível colocar o seu script dentro dos diretórios: [...]
12 de jul de 2010 em 11:51 am
sou novato no linux e seu artigo tambem me esclareceu algumas duvidas no entanto estou com abacaxi aki q não consigo descascar tenho uma rotina em php agendada para rodar todo dia a 0:00hsr no cliente mas não executa ela esta da seguinte forma:
12 0 * * * root /usr/local/bin/php -f /usr/local/www/virtualhosts/arquivos/cron/rotinas_agendadas.php
e não roda, como posso resolver , não estou conseguindo
15 de jul de 2010 em 10:55 pm
26 de jul de 2010 em 5:30 pm
Boa tarde! Muito bom este topico.
Porém, eu gostaria de saber como executar um determinado comando apenas uma vez por mes, somente no sábado, e na ultima semana do mes? É possível.
Estava colocando o script dentro do diretório /etc/cron.monthly, e no crontab colocando assim.
00 05 * * 6 root run-parts /etc/cron.monthly
Assim, o script irá executar as 5:00 horas, no sábado, apenas uma vez por mes, porém em qual semana? Dentro do mes eu queria que fosse na ultima semana. É possível fazer isto pelo cron?
Obrigado
05 de ago de 2010 em 4:05 pm
tenho esse autenticador do speedy business
#!/bin/bash
###
# Script de autenticação speedy negócios
# ver. 1.0
# data 28/04/2008
###
# VARIAVEIS #
SPEEDYZONEIP=”200.171.222.97″
#SPEEDYZONEIP=”200.171.222.93″
LOGIN=
DOMINIO=
SENHA=
SPEEDYZONE=”http://${SPEEDYZONEIP}/wsc/servlet/logon.do”;
URL=http://www.google.com.br/
ARQTEMP=/home/antonio/path/path.txt
ARQLOG=/home/antonio/path/log.log
# FUNÇOES #
###
# Função para redução do arquivo de log,
# mantêm o arquivo de log com um tamanho
# aceitável
###
corrigeLOG() {
# remove o arquivo temporario de transferência
rm -f $ARQTEMP
if [ -e $ARQLOG ];then
# se o arquivo de log existe, verificar quantas linhas existem no arquivo
LINHAS=`cat $ARQLOG | wc -l`
if [ $LINHAS -gt "2700" ];then
# copiar 2000 linhas de trás pra frente e salvar em um arquivo temporário
# e enviar os textos do console para null
tail -n 2000 $ARQLOG > $ARQTEMP 2> /dev/null
# apagar arquivo de log
rm -f $ARQLOG
# renomear o arquivo temporario como arquivo de log
mv -f $ARQTEMP $ARQLOG
fi
fi
}
###
# Função de autenticação
# cuidado com esta função qq erro imperirá
# a autenticação.
# NOTA : A telefonica custuma mudar os
# endereços e rotinas com alguma frequencia
# já houveram pelo menos 3 alterações desde
# 2002 nesta rotina.
# Caso o sistema não autentique verifique
# pelo browser gráfico os endereços e variáveis
# corretas e altere o script para se adequar
# as novas rotinas.
###
speedy_auth() {
# este comando abaixo é a rotina de autenticação do speedy
lynx -dump $SPEEDYZONE\?opcion=internet\&CPURL=http\%3A\%2F\%2F${URL}\%2F\&username=${LOGIN}\%40${DOMINIO}\&password=${SENHA}|grep -i “salvar” >/dev/null
if [ "$?" = "0" ];then
echo “Erro de autenticação de Speedy! `date +”%T de %d/%m/%Y”`” >> $ARQLOG
exit 1
fi
echo “Conexão Ok !! `date +”%T de %d/%m/%Y”`” >> $ARQLOG
}
###
# Função de teste do navegador
# verifica se o lynx está instalado
# se não estiver apt-get install lynx
###
testaNav() {
# testa a presença do nevegador lynx
if ! [ -f "/usr/bin/lynx" ] ; then
# nevegador não intalado o script não funcionará
# portanto sair do script
exit 0;
fi
}
# PRINCIPAL #
# Verifica se o computador de destino esta pedindo autenticacao
main() {
# verifica se o navegador esta disponivel lynx
testaNav
# reduz, se necessário, o tamanho do log
corrigeLOG
# testa a conexão
ping -c 1 $URL &>/dev/null
# se retornar qq coisa diferente de zero
if [ "$?" != "0" ];then
# conexão não respondeu, então verificar se é a pagina do speedyzone
lynx -dump “$URL” | grep -iEq “speedyzone”
# se a palavra speedyzone foi encontrada então estamos na pagina de login do speedy negocios
if [ "$?" = "0" ];then
# autorizar a conexão
speedy_auth
fi
else
# houve resposta positiva do ping então estamos conectados
echo “Conectado !!! `date +”%T de %d/%m/%Y”`” >> $ARQLOG
exit 1
fi
}
# Chamada da rotina principal
main
exit 0;
coloco no cron:
arquivo autentica rodei o comando antes chmod 755
*/1 * * * * /home/antonio/autentica
mas nada acontece, testei e o cron está ativo rodando isso:
* * * * * ls –l /home >> /tmp/teste
como devo proceder?
24 de ago de 2010 em 11:58 am
Parabéns pelo post, me ajudou muito. Ótima didática.
17 de out de 2010 em 4:19 pm
Como faco para que meu cron seja executado to ultimo dia do mes, ja que temos meses com 28, 29, 30 e 31 dias?
08 de jan de 2011 em 7:10 pm
Muito bom mesmo o Post, tem pouco tempo que trabalho com linux e tinha duvidas com o crontab…agora posso dizer que sei utiliza-lo…Parabens.
17 de jan de 2011 em 12:59 pm
Geraldo,
Não há uma forma direta, então faça deste jeito (supondo que você vá rodar a tarefa às 23:59 dos últimos dias de cada mês):
# Para os meses com 31 dias:
59 23 31 1,3,5,7,8,10,12 * usuario comando
# Para os meses com 30 dias:
59 23 30 4,6,9,11 * usuario comando
# Para o mes de fevereiro:
59 23 28 2 * usuario comando
Mas você pode fazer um script que valide a data que ele processará o script ao ser chamado pelo cron (tem diversos sites que ensinam como você validar datas em Shell, Perl, PHP e diversas linguagens):
# Então ficaria assim
59 23 28,29,30,31 * * usuario script_com_consistencia_da_data
Abraços.
01 de mar de 2011 em 1:25 pm
Hugo parabens! Sobre a utilização do sudo no cron, uma senha deveria ser fornecida, porem se especificar o user como root no sexto campo, fica resolvido?
abraço!
20 de mar de 2011 em 1:12 pm
[...] Ok, o que vc tem feito até agora? qual é a sua dúvida exatamente? da uma sapeada ai : Utilizando o crontab – Devin Citar + Responder ao Tópico GA_googleFillSlot("720×90-before"); [...]
09 de jun de 2011 em 11:00 pm
Hugo, Tutorial òtimo,
Uma pergunta,
Fiz um script que para ser executado precisa realizar o seguinte:
teste.sh stop
ou
teste.sh start
Como informo no cron ? Pois realizei o procedimento abaixo não funfou.
50 22 * * * sh teste stop >/dev/null 2>&1
obrigado
09 de jun de 2011 em 11:03 pm
Hugo, Tutorial òtimo,
Uma pergunta,
Fiz um script que para ser executado precisa realizar o seguinte:
teste.sh stop
ou
teste.sh start
Como informo no cron ? Pois realizei o procedimento abaixo não funfou.
50 22 * * * sh /usr/local/bin/teste.sh stop >/dev/null 2>&1
obrigado
13 de jun de 2011 em 8:49 am
Ola Por Hugo Cisneiros
Estava pesquisando … e gostei do papo da turma !
Então vou fazer uma pergunta !
- Tem como saber o horario que o crontab vai executar suas cada agendamento ?
t+
obg
09 de ago de 2011 em 4:21 pm
Olá, ja utilizo o crontab para efetuar backup do banco de dados. Recentemente tive um problema em iniciar um script pelo sistema atraves do rc.local, e em uma pesquisa descobri que da pra usar o crontab para iniciar scripts com o sistema, para isso tem que substituir o min/hora/dia por @reboot + o comando a ser executado.
alguem sabe algo a respeito, pois eu nao consegui usar assim.
Obrigado.
30 de ago de 2011 em 10:21 am
Muito bom, foi muito util.
Parabens!
04 de set de 2011 em 8:35 pm
Estou tentando concluir meu trabalho de graduacao por agora. E surgiu uma nova parte para o programa: ser executado todos os dias num horario x. Ate ai tudo bem. O problema eh que todo dia nesse horarario tera um arquivo diferente..Queria fazer tipo assim:
horarios para o cron seguido do COMANDO, que seria algo como
executa extrator (so que teria q passar o arquivo daquele dia, cada arquivo tem um final diferente, entao pegaria por esse final pra passar para o programa..mas nao sei se da pra fazer isso pelo cron). Gostaria de ajuda, ideias.
Obrigada.
21 de set de 2011 em 1:34 pm
Estava precisando de um exemplo do cron a ser executado dentro dx minutos. Seu texto foi de grande valia. Obrigado e grande abraço.
21 de nov de 2011 em 12:17 pm
Pessoal,
Preciso executar um programa todos os dias em certo horário e pensei em usar o CRON. O problema é que o programa possui tela, ou seja, não é apenas um comando de copiar, apagar ou configurar alguma coisa, mas é um programa com tela, botões de comando, etc., que precisa ficar aberto.
Hoje eu executo manualmente no console da máquina porque pelo CRON o programa foi executado em “background”, o programa ficou sendo executado na memória, mas fiquei sem acesso à tela.
Como fazer com que o CRON execute o programa no console da máquina, como se eu tivesse digitado o comando manualmente?
Abraço a todos,
Gilberto
30 de nov de 2011 em 1:46 pm
Olá Hugo,
Fiquei com uma dúvida na seguinte questão : quero que uma vez por mês a minha pasta tmp seja limpa completamente, como posso fazer isso sendo que minha pasta se encontra em :
home/usuario/public_html/tmp
Estou fazendo esta pergunta pois não quero sair excluindo tudo a não ser o que está dentro da pasta tmp !
Desde já agradeço
Heber Queiroz
04 de fev de 2012 em 10:58 pm
$(cd /home/public_html/tmp ; rm -rf * )
ou
$(cd /home/public_html ; rm -rf tmp ; mkdir tmp)
Faca com o usuario owner da pasta ;)