Autosys

O Autosys

Ferramenta de Scheduling da CA utilizada para Schedular Jobs de baixa plataforma, fazendo interface em várias aplicações, inclusive com SAP se necessario.
Como toda ferramenta de Scheduling, o Autosys tem como finalidade colocar em execução Job com Scripts para realizar rotinas pré determinadas pelo cliente, donos dos Jobs.
O uso do Autosys é, de alguma forma, muito similar as Scheduling Tools de Mainframe, pois é usado para executar Jobs em dias, e horarios pré definidos. Podendo ainda definir amarrações com dependencias de um Job para outro, ou de horário, etc. A diferença básica fica por parte da interface gráfica, que no Mainframe, tem como opção somente a versão da empresa BMC chamada de Control-M. A interface gráfica faz exatamente o que o nome diz, cria uma interface entre os Jobs e o Scheduler ou Operador, não havendo asim, a necessidade de realizar nada por comandos, e sim clicando em botões, e preenchendo campos.
Mas pela agilidade e rapidez nas respostas, muitas pessoas preferem trabalhar no Prompt, o que faz a interface gráfica ficar apenas como uma opção de visualização da Flow de Jobs. O Prompt para o Autosys tem a mesma “cara” do prompt do DOS para os pc’s comuns, e tem como função básica e primordial, possibilitar a execução de comandos para o Autosys.



Tipos de jobs No Autosys

Diferentemente da maioria das ferramentas de Scheduling, o Autosys trabalha com mais conceitos além de simplesmente Job. Tentarei explicar melhor em seguida:

JOB – Este é pura e simplesmente um Job simples, que tem função de Job, geralmente com uma linha de comando, para que seja executado Script do mesmo. Mas o Job pode ser Dummy, ou seja, somente para fazer algo simplez sem executar Script, ou ainda um Job usado para SAP, que ativa um Job com outro nome no servidor SAP.

FILEWATCHER – É um Job também, mas um Job com uma função bem específica, verificar a transferência de arquivo. O Job tem como finalidade verificar e executar bem, caso um determinado aquivo chegue ao destino com sucesso. Liberando assim seus sucessores para que estes possam utilizar o arquivo.

BOX – Uma Box é mesmo bem parecida com uma caixa, pois tem dentro dela geralmente vários Jobs. A funcionalidade de uma Box seria executar os Jobs de uma mesma aplicação na sequencia desejada, de acordo com o horario definido na propria Box, executando um em dependencia de outro ou todos ao mesmo tempo. A Box tendo seus próprios horarios não impede o Job de também ter os seus, mas esta ideia é pouco usada, pois em poucos casos há a necessidade de agrupar Jobs em uma box sem ter a intenção de usar os horarios da mesma.
No Prompt, sempre que for fazer um Display de um Job, este vai mostrar no final do nome, o tipo de Job, se Box, Job ou Filewatcher.
Vai aparecer assim:

JOB TYPE: C – Este indica o Job propriamente dito, o C indica que será um Job que emite comando somente.
JOB TYPE: F – Este indica o Filewatcher, Job que verifica files. Aparece também no nome do Job como um _fw no final do nome.
JOB TYPE: B – Este indica a Box. Aparece no nome do job tambem um _box no final do nome.


Status De Um Job

Um Job quando definido em um sistema, passa a ter como função principal executar bem, realizando assim o trablaho que lhe compete. Mas para isso o Job passa por etapas no sistema, e durante estas etapas nem sempre ele tem sucesso no seu trabalho. A seguir, algumas etapas e situações possiveis de um Job no sistema.

Successfull – Job que começou e terminou bem, sem problemas;

Terminated – Job que foi terminado abruptamente, provavelmente com interveção manual;

Inactive – job que foi criado e ainda não executou, job que foi tirado de hold/ice

Active - Job que está ativo no sistema, aguardando horário ou dependência.

Starting – O tempo em que o Job está entre active e executing, o Job fica nesta condição por um tempo imperceptível;

Executing – Job executando no Autosys;

Failure – Job que terminou em erro;

restart - Job que falhou ao Startar. Raro acontecer.

On Hold – Job que está “seguro” no Autosys, segurando também todos os seu sucessores. Nem o Job nem os sucessores vão executar enquanto o Job estiver On Hold. Para tirá-lo deste estado, um evento deve ser enviado como OffHold;

On Ice – Job que está “congelado” no Autosys e nao vai executar, até que algém o tire deste estado. Mas este estado permite que as dependecias e a Box executem normalmente. Para tirar o Job deste estado, entao um evento deve ser enviado como OffIce;


Utilizando o PROMPT do UNIX

O Prompt do Unix é uma interface parecida com a do DOS, que é muito utilizada para realizar os Inserts, Updates e Deletes. Praticamente tudo pode ser feito pelo Prompt, sem a necessidade da interface grafica para este fim.
Pelo Prompt fica mais rápido realizar as mudanças, pois o Prompt faz o trabalho dinamicamente, ou seja, assim que o comando é dado, o resultado é imediato no Job. Claro, isso se o comando for usado corretamente, sem que haja nenhum erro de sintax ou coisa parecida.

Tudo pode ser feito no Prompt, mudanças em calendários, nos Jobs, nas Boxes, chamar o VI, a JIL, etc.
Após colocar Password e Senha, o Prompt está pronto para ser usado, normalmente configurado para o diretório correto, pronto para aceitar comandos.

Os Campos de Definição de Jobs, Boxes e Filewatchers

No Prompts é possível trabalhar com as definições dos Jobs. Assim sendo, deve-se conhecer os campos a preencher, modfificar ou deletar em um Job para que este esteja configurado de acordo no Autosys.
Na interface grafica do Autosys é possível trabalhar com os mesmos campos, sendo que alguns deles é sempre recomendável que se use, mas se preferir, pode-se utilizar o Prompt.
Daqui em diante, tentaremos explicar e elucidar os campos que vemos quando utilizamos o comando jobrep ou jr.

Campo JOB

Insert_job:
Update_job:
Delete_job:

Campo obrigatório que indica qual a situação do Job. Logo depois dos dois pontos entra o nome do Job. Esta é a primeira linha
das definições. Quando se utiliza o comanod de Display de Job este aparece como:
Insert_job: job_name_1 Job_type: C

A opção de insert_job também é utilizada para adicionar um novo Job no Autosys. Assim como a opção update_job é utilizada para atualização em qualquer outro campo do Job que não o nome, e o delete_job que seria utilizado para remover o Job do Autosys.
O campo job_type é o que indica qual será a finalidade do Job. Se ele será Job Command, Filewatcher ou Box. Apesar de que também se utiliza colocar _fw no final do nome do Job Filewatcher e _box no final do nome de uma Box.

Insert_job: job_name_1 Job_type: c - Este seria um Job.
Insert_job: job_name_1_fw job_type: f - Este seria o exemplo de um File Watcher
Insert_job: job_name_1_box job_type: b - Esta seria uma box


Campo BOX_NAME

Box_name: job_name_2_box
Este campo não é obrigatório. Campo que vem logo abaixo do nome do job, define se um Job, Filewatcher ou Box estarão dentro de uma Box ou não.


Campo COMMAND

command: /diretorio/diretorio2/arquivo.ksh
Campo obrigatório somente para Job. Este campo indica o caminho no servidor para o arquivo que o Job executa, os programas mesmo.
Campo que também é utilizado por Jobs de SAP, onde vai ter o nome do Job no SAP e os comandos para trazer o Job para execução.


Campo MACHINE

machine: autosys01
Campo obrigatóriso, pois indica o nome de rede da “máquina” ( PC ou Servidor ) que o Job pertence.


Campo OWNER

owner: autosys@autosys
Campo obrigatório que indica o “dono” do Job, quem será o responsável pelo Job para o Autosys e para quem cuida do Autosys.


Campo PERMISSION

**permission: gx,wx
Campo obrigatório que tam como finalidade definir as permissões para o Job.


Campo DATE CONDITIONS

date_conditions: 1
Campo que não é obrigatório primeiramente, mas que precisa ser definido caso o Job venha a ter seu Schedule. Então caso o Job vá executar alguma dia do mes, ou em algum calendário então deverá ter este campo preenchido.


Campo RUN CALENDAR

run_calendar: firstday
Campo obrigatório somente pra um Job com Schedule. É utlizado para colocar um Job para executar em dias específico, um calendário pode ser criado por exemplo, para um fim de mes, ou o primeiro dia do mes, ou de quatro em quatro meses, anualmente, semana sim e outra não, etc. Caso o Job execute em um calendário, então dias de semana não serão aceitos, um exclui o outro.


Campo EXCLUDE CALENDAR

exclude_calendar: firstday
Campo não obrigatório que é utilizado para definir que o Job NÃO irá executar nos dias definidos neste calendário. O calendário utilizado é um calendário comum mesmo, que pode ter sido criado para outro job.


Campo DAYS OF WEEK

days_of_week: mo,tu,we,th,fr ou days_of_week: all
Campo obrigarório no caso de um Job ter um schedule, então ele precisa da definição de dia de semana ou definição de dias em um calendário.


Campo START TIMES

start_times: “00:00”
Campo não obriagatório para o Autosys, mas caso o Job vá executar algum dia, então tem que executar em algum horário. O horário terá que ser definido entre parenteses.


Campo TERM RUN TIME

term_run_time: 240
Campo não obrigatório definido em minutos. Define quanto tempo o Job pode executar, ou seja, o Job vai terminar caso execute durante o tempo que está definido. Neste caso do exemplo, o Job não opode executar mais que 240 minutos, ele termina assim que atingir este tempo. Muito utilizado em Jobs FILEWATCHER.


Campo BOX TERMINATOR

box_terminator: 1

-

Campo WATCH FILE

watch_file: /dira/dirb/dirc/dird/file.watch.name
Campo obrigatório somente no caso se o Job for um File Watcher. Geralmente criado para que o Job verifique um arquivo em alguma maquina.


Campo WATCH INTERVAL

watch_inteval: 60
Campo Obrigatório para quando se define um FileWatcher, tem que ser definido logo após o campo WATCH FILE. Campo que indica por quanto tempo o Job vai ficar procurando o file.


Campo START MINUTES

start_mins: 00
Campo não obigatório, usado para definir qual minuto o Job deve Startar dentro de um intervalo de tempo definido no campo RUN WINDOW. Neste exemplo o Job vai iniciar sua execução sempre que chegar nos minutos definidos. Neste exemplo o Job vai comecar execução toda hora cheia, ou seja, minuto 00.


Campo CONDITION

condition: s(job_condition_name)
Campo não obrigatório. Usado para adicionar ao Job uma condição de outro Job. Ou seja, o Job só executa caso a condição, seja ela qual for, seja satisfeita.
A condição de um Job pode funcionar basicamente de duas maneiras. Uma delas é o Job ser “triggado” pela condição, ou seja, o Job não tem nenhum horário ou dia definido para executar entao vai ser trazido para execução quando a condição terminar da maneira definida na condição (sucesso, terminado, etc ). A outra maneira da condição é que ele é somente uma condição mesmo, a condição tem que ser satisfeita quando chegar o horário de execução de um Job.
Mais de uma condição é aceita por job, entao as condições são definidas sempre entre parenteses e, havendo mais de uma, separadas pelo caracter & , exemplo:
condition: s(job_condition_nameA) & s(job_conditionB)

Tipos de Condição

s(job_condition_name) - Condição de sucesso. O Job condição tem que ter terminado com sucesso para que a condição seja satisfeita;
t(job_condition_name) - Condição de término. Esta condição indica que caso o Job condição termine ( em geral significa que nao terminou bem ) para que a condição seja satisfeita;
d(job_condition_name) - Condição de DONE. Indica que qualquer que seja o Status que o Job terminou, esta condição vai ser satisfeita, FAILURE, DONE, SUCCESS, TERMINATED, Etc.
n(job_condition_name) - Condition NO/NEGATIVE. Condição “negativa”, que faz com que os Jobs envolvidos nesta condição nao executem ao mesmo tempo. O que entrar primeiro pra executar tem a preferência.


Campo DESCRIPTION

description: “my job is very important”
Campo não obrigatório, utilizado para descrever a função do Job. Tem que vir entre aspas.


Campo STANDARD OUTPUT FILE

std_out_file: > $AUTOSYS/log/$AUTO_JOB_NAME.out.$AUTOSYSDT
Campo obrigatório onde se define para onde vai a Log do Job depois que ele finalizar bem.


Campo STANDARD ERROR FILE

std_err_file: > $AUTOSYS/log/$AUTO_JOB_NAME.err.$AUTOSYSDT
Campo obrigatório que indica onde será gravada a Log do Job caso este termine em erro.


Campo MAX RUN ALARM

max_run_alarm: 240
Campo não obrigatório, que define um Shout Late, significa que se o Job executar por mais tempo que o tempo definido neste campo, ele emite um alerta. Neste caso o Job nao pode executar mais de 240 minutos, ou seja, 4 horas.


Campo ALARM IF FAIL

alarm_if_fail: 1
Campo não obrigatório, que é utilizado para que o Autosys emita um alerta caso o Job falhe. O numero 1 indica que o alarme será enviado, se definir como 0 ( zero ) quer dizer que nao vai ter alarme caso falhe.


Campo MAX EXIT SUCCESS

max_exit_success: 1

Campo não obrigatório que indica qual o Error Code máximo aceitável. E que diferente dele o Job falha.


Campo PROFILE

profile: /dira/dirb/.profile


Campo JOB LOAD

job_load: 2


Campo PRIORITY

priority: 2


Campo TIMEZONE

timezone: US/Central

Campo obrigatório que indica qual o timezone que este Job vai executar.


Comandos de Autosys Utilizando o PROMPT

Comandos de Job, Box e Filewatcher

Jr job_name –q ** ou **autosysrep –j job_jobname –q - Comando usado para Display das informações do Job. O comando mostra as informações de definição do Job, tais como horarios e dias de execução, dependencias, a box que o Job possa estar, etc.

Jr job_name –d –w - Comando que mostra o Status do Job no Autosys. Se ele está Active, Inactive, On Ice, etc.

Jr box_name –q - Comando usado para ver as informações de schedule da Box e de todos os Jobs dentro dela.

Jr box_name –lo –q - Comando que mostra somente as informações da Box e nao dos Jobs dentro dela.

Jr job_name –q > arquivo.txt - Comando que é utilizado para jogar a Jil de um Job ou de uma Box inteira dentro de um arquivo direto.

Autostatus –j job_name - Comando utilizado para ver o Status atual do Job. Ver tópico Status de Job.

Success job_name - Comando para modificar o estado de um Job. Pode ser utilizado para marcar um Job para sucesso, tirar ou colocar em Ice, tirar ou colocar em Hold, etc. Este comando vai enviar um evento ao Autosys para que mude o estado do Job.

Job_depends –c –j jobname - Comando utilizado para verificar as dependecias de um Job. Este comando mostra os Jobs que este espera e também os que esperam por este.

Job_depends –c –j jobname –w -Comando igual ao que está acima, só que mais resumido. É mais claro ver as dependencias utilizando este.

jr jobstring -q > nomedoarquivo.txt - Comando para criar um arquivo com a JIL de uma String de Jobs.

mailx -v -s subjectdoe-mail e-mail < nomedoarquivo - Comando para mandar para o e-mail um arquivo com a JIL de uma range de Jobs.

jobrep => jobstring = > e-mail - Comando utilizado para enviar um arquivo com Job String para um e-mail. Este arquivo é utilizado para gerar um arquivo em excel.

autotrack -j jobname –v - Comando que mostra quem forçou um Job.

sendevent -e Command (On ice, force start etc…) -j jobname -T "mm/dd/yyyy hh:mm" - Comando que cancela um Future Event. Mas tem que ser bem específico, indicando qual o evento, data e horario do mesmo. Depois de cancelar, então pode usar -jr jobname -d para que tenha certeza de que foi cancelado.


Comandos Para Arquivos VI

Vi nomedoarquivo.txt ou vi nomedoarquivo.ksh - Comando que cria um arquivo no vi, ou abre um arquivo já existente. Para um arquivo novo não é necessário criar um nome antes de abrir o arquivo, ele pode ser aberto sem nome e assim que for salvá-lo o nome deverá ser definido. O mesmo comando é utilizado para editar o arquivo.

esc i - Dentro do arquivo, o comando ESC é utilizado para editar as informações no arquivo.

esc - Utilizado para liberar o cursor, saindo do modo de edição.

esc a - Trabalha na letra da frente.

DD - Comando utilizado para deletar linhas

: - Utilizado para ir ao fim do arquivo, para salvá-lo

:wq! - Comando que salva o arquivo e sai do modo de edição.

1,$s/parametroantigo/parametronovo/g - Comando utilizado para mudar um parametro dentro do arquivo. Comando utilizado para modificar algum parametros em muitos Jobs ou comandos dentro do arquivo.

More nomedoarquivo Comando que é usado para visualizar um arquivo. Seja txt ou ksh

Nomedoarquivo + enter -Comando que executa o que está dentro do arquivo. Por isso é necessário que se tome muito cuidado com o mesmo.

Rm nomedoarquivo - Comando usado para remover (deletar) o arquivo do Autosys.

mv nomedoarquivoantigo nomedoarquivonovo - Comando utilizado para mudar o nome do arquivo. O arquivo com o nome antigo some, só o arquivo novo fica.

cp nomedoarquivoantigo nomedoarquivonovo - Comando utilizado para copiar as informações de um arquivo para outro, os dois arquivos ficam, tendo o mesmo conteúdo.

Ls –lrt - Comando utilizado para listar todos os arquivos no autosys.

Chmode xxx arquivo - (onde xxx pode ser de 1 a 7 de acordo com o nível de permissão do arquivo)
Comando que modifica as permissões do arquivo.


Comandos do TimeZone do Autosys

Autotimezone –l - Comando que lista todos os horários por Time Zone no Autosys.


Comando de Calendário

Autocal_asc => calendar name = > A (add) P (print) D (delete) = > date and time

Esta é a opção no Prompt para trabalhar com um calendário.
1 – Primeiro digita-se o comando autocal_asc;
2 – Depois coloca o nome do calendário no vai se trabalhar;
3 – Depois uma das opções;
ADD – para adicionar Datas
PRINT – Para jogar as datas de um calendário na tela
DELETE – Para deletar alguma data no calendario
4 – Depois se define qual data se quer adicionar ou deletar
5 – Control + C para sair do modulo de edição de calendário.



A Interface Grafica

O Autosys tem como facilidade uma inteface grafica pra realizar as mesmas tarefas que se realiza no PROMPT, a não ser pelo editor de arquivos VI.
Em um comparativo com o PC, a interface gráfica funciona como o Windows e o Prompt como o Prompt do DOS.
Pela intervace gráfica é fácil enxergar as cadeias de Jobs, pois ela mostra os Jobs, sua conexões ou Jobs dentro de uma Box. Os gráficos são em forma de diagrama, ou seja, parece um organograma, os Jobs são mostrados como “caixas” com o nome dentro.
Fica visível também o estado do Job, pois cada cor indica um estado.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License