Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exemplo: arquivos de exportação usando um script de operação

O script de operação neste exemplo usa a operação de protocolo file-put Junos XML para escrever a um arquivo em um servidor remoto e no dispositivo local.

Requisitos

Este exemplo usa um dispositivo que executa o Junos OS.

Visão geral e script de operação

A operação de protocolo file-put Junos XML cria um arquivo e escreve o conteúdo especificado nesse arquivo. A sintaxe básica para usar o comando é a file-put seguinte:

Os seguintes elementos de tag são usados com o file-put comando. Essas etiquetas podem ser colocadas em qualquer ordem, com exceção de file-contents. O file-contents elemento tag deve ser a última tag da lista.

  • delete-if-exist— (Opcional) Se incluído, qualquer arquivo existente é sobreescrito. Se a tag for omitida, um erro é devolvido se um arquivo existente for encontrado.

  • encoding— (Obrigatório) Especifica o tipo de codificação usada. Você pode usar ASCII ou base64 codificar.

  • filename— (Obrigatório) Nesta tag, você inclui o caminho e o nome de arquivo completos ou relativos do arquivo para criar. Quando você usa um caminho relativo, o caminho especificado é relativo ao diretório doméstico do usuário. Se o diretório especificado não existir, o sistema retorna um erro de "diretório não existe".

  • permission— (Opcional) Define a permissão UNIX do arquivo no servidor remoto. Por exemplo, para aplicar o acesso de leitura/gravação para o usuário e ler o acesso a outros, você definiria o valor da permissão para 0644. Para obter uma explicação completa das permissões do UNIX, consulte o chmod comando.

  • file-contents— (Obrigatório) O conteúdo de arquivo codificado ASCII ou base64 para exportação. Esta deve ser a última tag da lista.

Sintaxe XSLT

O script de amostra a seguir executa uma solicitação de API Junos XML e exporta os resultados para um arquivo em um dispositivo remoto e um arquivo no dispositivo local. O script leva três argumentos: o endereço IP ou nome de host do dispositivo remoto, o nome de arquivo e a codificação do arquivo. A arguments variável é declarada no nível global do script para que os nomes e descrições dos argumentos sejam visíveis na interface de linha de comando (CLI).

O script invoca a solicitação de API <get-software-information> Junos XML no dispositivo local e armazena o resultado na result variável. O script declara a fileput variável, que contém a chamada de procedimento remoto (RPC) para a file-put operação. Os argumentos da linha de comando definem os valores para os filename elementos de encoding tag. Se o argumento myhost obrigatório estiver faltando, o script emitirá um erro e interromperá a execução. Caso contrário, o script solicita o nome de usuário e a senha que serão usados para se conectar ao dispositivo remoto.

Se a conexão com o dispositivo remoto for bem-sucedida, o script executa o RPC no contexto da alça de conexão. A saída da file-put operação, que é o resultado da jcs:execute() função, é armazenada na out variável. Se a operação encontrar um erro, o script imprime o erro na CLI. Se a file-put operação for bem-sucedida, o conteúdo especificado pelo file-contents elemento tag é exportado para o arquivo especificado no dispositivo remoto. A conexão com o host remoto é então fechada. O script também exporta o conteúdo para um arquivo idêntico no dispositivo local.

O script de amostra inclui os elementos permission de tag opcionais e delete-if-exist a file-put operação. Ao incluir a delete-if-exist tag, o script sobregrava qualquer arquivo de mesmo nome existente nos hosts remotos e locais. Neste exemplo, a permission tag está definida para 0644.

Sintaxe SLAX

Configuração

Procedimento

Procedimento passo a passo

Baixar, habilitar e testar o script:

  1. Copie o script XSLT ou SLAX em um arquivo de texto, nomeie o arquivo export.xsl ou export.slax conforme apropriado e copie-o para o /var/db/scripts/op/ directory no dispositivo.

  2. No modo de configuração, inclua a file declaração no nível de [edit system scripts op] hierarquia e export.xsl ou export.slax conforme apropriado.

  3. Emitimos o commit and-quit comando.

  4. Execute o script de operação emitindo o comando de op export modo operacional e inclua quaisquer argumentos necessários.

Verificação

Verificando os argumentos do script de operações

Propósito

Verifique se os nomes e descrições dos argumentos aparecem na CLI.

Ação

Emitimos o comando do op exort ? modo operacional. A CLI lista as possíveis conclusões para os argumentos de script com base nas definições dentro da variável global arguments no script.

Verificando a execução do script de operações

Propósito

Verifique se o script se comporta como esperado.

Ação

Emitimos o comando do op export myhost host encoding encoding filename file modo operacional e incluam o nome de usuário e a senha apropriados quando solicitado. Se a execução do script for bem-sucedida, o resultado da solicitação de <get-software-information> RPC será escrito no arquivo do dispositivo remoto e também no dispositivo local. Por exemplo:

Se você não fornecer o endereço IP ou o nome de host do dispositivo remoto nos argumentos da linha de comando, o script emitirá um erro e interromperá a execução.

Se você omitir a delete-if-exist tag infantil da file-put operação e o arquivo especificado já existir, o script relatará um erro.

Se você executar o script e incluir um caminho de diretório que não exista no remoto ou no host local, o script relata um erro.