Mudanças entre as edições de "Agendamento com Crontab"
(Criou página com 'a') |
(Etiqueta: visualeditor) |
||
Linha 1: | Linha 1: | ||
− | a | + | No GNU/Linux estes recursos são implementados pelo cron, que pode ser utilizado tanto pelo administrador como pelos outros usuários do sistema. |
+ | * crontab -e Edita o crontab ou cria um caso ainda não exista; | ||
+ | * 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). | ||
+ | |||
+ | O cron é estruturado da seguinte forma: | ||
+ | |||
+ | === ARQUIVO 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>''. Para listar o conteúdo de cada arquivo, digite: | ||
+ | crontab -l | ||
+ | Este comando exibirá o arquivo do usuário que o digitou. Para editar o arquivo, digite: | ||
+ | crontab -e | ||
+ | O crontab respeita esta sintaxe. | ||
+ | - - - - - | ||
+ | | | | | | | ||
+ | | | | | +----- dia da semana (0 - 6) (domingo=0) | ||
+ | | | | +------- mês (1 - 12) | ||
+ | | | +--------- dia do mês (1 - 31) | ||
+ | | +----------- hora (0 - 23) | ||
+ | +------------- minuto (0 - 59) | ||
+ | |||
+ | 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. | ||
+ | |||
+ | === AGENDANDO TAREFAS === | ||
+ | 00 3,5,4 * * * 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; | ||
+ | |||
+ | 40 16 1 6-8 * /home/oracle/sqldump.sh - Às 16:40 dos dias 01 de junho, julho e agosto, será executado o script sqldump.sh. | ||
+ | A especificação do usuário para executar o script é opcional. | ||
+ | * */5 * * * * php /var/www/cacti/poller.php > /dev/null 2>&1 - Executa, a cada 5 minutos, o arquivo poller.php com usuário php. | ||
+ | |||
+ | Existem ainda 4 diretórios que facilitam o agendamento de tarefas: | ||
+ | |||
+ | Diretório - Período: | ||
+ | * /etc/cron.hourly - De hora em hora; | ||
+ | * /etc/cron.daily - Diariamente; | ||
+ | * /etc/cron.weekly - Semanalmente; | ||
+ | * /etc/cron.monthly - Mensalmente. |
Edição atual tal como às 15h56min de 7 de novembro de 2018
No GNU/Linux estes recursos são implementados pelo cron, que pode ser utilizado tanto pelo administrador como pelos outros usuários do sistema.
- crontab -e Edita o crontab ou cria um caso ainda não exista;
- 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).
O cron é estruturado da seguinte forma:
ARQUIVO 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>. Para listar o conteúdo de cada arquivo, digite:
crontab -l
Este comando exibirá o arquivo do usuário que o digitou. Para editar o arquivo, digite:
crontab -e
O crontab respeita esta sintaxe.
- - - - - | | | | | | | | | +----- dia da semana (0 - 6) (domingo=0) | | | +------- mês (1 - 12) | | +--------- dia do mês (1 - 31) | +----------- hora (0 - 23) +------------- minuto (0 - 59)
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.
AGENDANDO TAREFAS
00 3,5,4 * * * 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;
40 16 1 6-8 * /home/oracle/sqldump.sh - Às 16:40 dos dias 01 de junho, julho e agosto, será executado o script sqldump.sh.
A especificação do usuário para executar o script é opcional.
- */5 * * * * php /var/www/cacti/poller.php > /dev/null 2>&1 - Executa, a cada 5 minutos, o arquivo poller.php com usuário php.
Existem ainda 4 diretórios que facilitam o agendamento de tarefas:
Diretório - Período:
- /etc/cron.hourly - De hora em hora;
- /etc/cron.daily - Diariamente;
- /etc/cron.weekly - Semanalmente;
- /etc/cron.monthly - Mensalmente.