MANUAL SERVIÇOS E AGENDAMENTO Versão 1.0 Novembro 2013
ÍNDICE 1 SERVIÇOS NO AUTOSYSTEM...3 2 CRIAR SERVIÇO E AGENDAR TAREFA...3 2.1 Criar Serviço e Agendar Tarefas no Ubuntu-LINUX...4 2.1.1 Como Usar o Cron...5 2.1.2 Comandos do Crontab...5 3 AGENDAR TAREFA...7 3.1 Agendar tarefa no Windows...7 Página 2
1 SERVIÇOS NO AUTOSYSTEM Serviços são sub-rotinas do AutoSystem que podem ser agendados como um serviço a ser executado automaticamente pelo sistema operacional, como por exemplo: Processador de lotes, terminal comanda, etc. Para utilizar tal recurso, utilizamos os parâmetros --<parâmetro do serviço> a seguir são descritos parâmetros existentes nos módulos do AutoSystem. Estes parâmetros podem ser passados na linha de comando do atalho para chamar rotinas fora do sistema. 2 CRIAR SERVIÇO Para criar um serviço no Windows basta seguir os passos abaixo: 1- Acessar a pasta onde o programa AutoSystem esta instalado, c:\autosystem; 2- Clicar com o botão Direito do mouse sobre o executável mainate e escolher a opção: Criar atalho, em seguida copiar este atalho para a área de trabalho e clicar novamente com o botão Direito do mouse em Propriedades e editar o caminho de acordo com o serviço que deseja criar por exemplo --nfe_proc, clicar no botão Aplicar e em seguida OK para gravar: Página 3
Configuração concluída, basta clicar sobre o ícone e o serviço estará pronto para utilização, porém para que o serviço rode será necessário clicar sobre o ícone toda vez que desejar que a tarefa seja executada. Para otimizar o processo é possível agendar tarefa no servidor para que o serviço rode quando a máquina for iniciada. Essa opção será tratada no capítulo 3. 2.1 Agendamento de Tarefas Windows Após criar o serviço poderá agendar a tarefa para que seja executada diretamente no servidor, será necessário criar o serviço e executar o mesmo, para que o reajuste de preço seja aplicado quando configurado no servidor, abaixo a descrição do agendamento de tarefas no sistema operacional Windows. Página 4
Para agendar uma tarefa no Windows siga os passos a seguir: Você deve estar com logon de administrador para executar essas etapas. Se não estiver com logon de administrador, você só poderá alterar as configurações que se aplicarem à sua conta de usuário. Você criará o serviço para Reajuste automático de preço, para isso usaremos o Assistente de Agendador de Tarefas para criar uma tarefa que abre o programa para você automaticamente de acordo com a agenda que você escolher. Por exemplo, você usará o reajuste automático de preço um programa que verificará automaticamente os reajustes cadastrados no módulo gerencial para que você não corra o risco de esquecer. 1. Para abrir Agendador de Tarefas, clique no botão Iniciar, clique em Painel de Controle, Sistema e Manutenção, Ferramentas Administrativas e clique duas vezes em Agendador de Tarefas. Se for solicitada a informação de uma senha de administrador ou sua confirmação, digitar a senha ou fornecer a confirmação. 2. Clicar no menu Ação e em Criar Tarefa Básica. 3. Digitar o nome e uma descrição opcional da tarefa (a sua escolha), por exemplo REAJUSTE DE PREÇO e clicar em Avançar. 4. Seguir um destes procedimentos: Para selecionar uma agenda baseada no calendário, clique em Diariamente, Semanalmente, Mensalmente ou Uma vez e clicar em Avançar. Em seguida, especificar qual agenda deseja usar e clicar em Avançar. Para selecionar uma agenda baseada em eventos recorrentes comuns, clicar em Ao iniciar o computador ou Ao fazer logon e clicar em Avançar. Para selecionar uma agenda baseada em eventos específicos, clique em Quando um evento específico for registrado, clicar em Avançar, especificar o log de eventos e outras informações usando as listas suspensas e clicar em Avançar. 5. Para agendar um programa para iniciar automaticamente, clicar em Iniciar um programa e em seguida em Avançar. 6. Clicar em Procurar para localizar o programa que deseja iniciar e clicar em Avançar. 7. Clicar em Concluir. O Agendador de Tarefas é um snap-in do Console de Gerenciamento Microsoft (MMC) e inclui ajuda adicional para usuários avançados. Para obter mais informações, abra o Agendador de Tarefas, clicar no menu Ajuda e em Tópicos da Ajuda. Fonte: http://windows.microsoft.com/pt-br/windows-vista/schedule-a-task Pronto o agendamento está concluído, desta forma a tarefa será executada conforme configuração realizada. Página 5
2.2 Criar Serviço e Agendar Tarefas no Ubuntu-LINUX Para criar serviços e agendar tarefas no sistema operacional Ubuntu deve-se utilizar o cron que é um programa de agendamento de tarefas. O cron pode ser interpretado como um serviço do Linux que é carregado durante o processo de boot do sistema. Tratase de uma ferramenta que permite programar a execução de comandos e processos de maneira repetitiva ou apenas uma única vez. Com ele pode-se programar para execução qualquer serviço numa certa periodicidade ou até mesmo em um exato dia, numa exata hora. Para executar as tarefas, o cron usa uma espécie de tabela conhecida como crontab. O arquivo crontab geralmente fica localizado no diretório /etc, mas também pode estar em um diretório que cria um crontab para cada usuário do sistema (geralmente em /var/spool/cron/), tudo depende das configurações do sistema operacional utilizado. Os sistemas Linux possuem o cron sempre presente. 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 restrito apenas ao que o usuário pode fazer (e não tudo, como é o caso do root). 2.2.1 Como Usar o Cron O primeiro passo é abrir o crontab. Para isso, você pode usar editores de textos como vi, emacs ou nano. Também é possível digitar o comando crontab -e para editar o arquivo exclusivo de seu usuário. Neste caso, a edição é feita como se você estivesse usando o vi. O crontab tem o seguinte formato: [minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando] 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 0 a 31; Mês: informe números de 1 a 12; Dias da semana: informe números de 0 a 7; Usuário: é o usuário que vai executar o comando (não é necessário especificá-lo se o arquivo do próprio usuário for usado); Comando: a tarefa que deve ser executada. 2.2.2 Comandos do Crontab Para acessar o crontab, basta digitar esse nome em um terminal seguido de um parâmetro. Eis a lista de parâmetros disponíveis: Página 6
crontab -e: conforme já informado, serve para editar o arquivo atual do crontab e criar um, caso não exista; crontab -l: este comando mostra o conteúdo atual do crontab; crontab -r: remove o arquivo atual do crontab. Se você quiser verificar os arquivos crontab dos usuários, você precisará ser root, ou seja, superusuário do sistema. O comando crontab coloca os arquivos dos usuários no diretório: /var/spool/cron/usuario Onde usuário 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. Vamos ver um exemplo: 0 4 * * * who A linha acima significa Execute o comando 'who' todo dia de todo mês sendo o dia qualquer dia da semana e o horário às 4 horas e 0 minutos. Outro exemplo: 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.. Para rodar o Processador de lotes na Crontab dos servidores utilize o parâmetro check a cada 60 minutos, desta forma caso o processador não esteja rodando ele será inicializado. Exemplo: M h dom mon dow user command 0 * * * * root as_nfe_proc check Página 7