comando rdist

Este documento descreve o antigo comando AIX rdist localizado no arquivo /usr/bin/rdist assim como o novo comando /usr/sbin/rdist que é usado com o novo daemon do rdistd .

/usr/bin/rdist Comando

Propósito

Programa cliente de distribuição de arquivos remoto.

Sintaxe

Para Usar um Arquivo de Distribuição

rdist [ -n ] [ -q ] [ -b ] [ -D ] [ -R ] [ -h ] [ -i ] [ -v ] [ -w ] [ -y ] [  -f FileName ] [ -d Argumento=Valor ] [ -m Host ] ... [ Name ] ...

Para Interpretar Argumentos como um Arquivo de Pequena Distribuição

rdist-n ] [ -q ] [ -b ] [ -D ] [ -R ] [ -h ] [ -i ] [ -v ] [ -w ] [ -y ] -c Nome ... Login] Host:Destino ]

Descrição

Atenção: Não tente usar o comando rdist para enviar um arquivo maior do que 2 Gigabytes de tamanho para uma máquina nãoAIX . Fazendo isso resulta em comportamentos indefinidos e, em casos raros, a perda de dados.

O comando rdist mantém cópias idênticas de arquivos em múltiplos hosts. O comando rdist preserva o proprietário, o grupo, o modo e o tempo modificado de arquivos, se possível, e pode atualizar programas que estejam em execução. O comando rdist pode receber direção a partir das seguintes fontes:

  • O arquivo de distribuição padrão, distfile arquivo em seu diretório $HOME .
  • Um arquivo de distribuição diferente, especificado pelo -f bandeira.
  • Argumentos de linha de comando que aumentem ou substituem definições de variáveis no arquivo de distribuição.
  • Argumentos de linha de comando que servem como um pequeno arquivo de distribuição.

Se você não utilizar a sinalização -f , o comando rdist procura o arquivo distfile em seu diretório $HOME . Se ele não encontrar um arquivo distfile , ele procura por arquivo Distfile .

O valor especificado pelo parâmetro Nome é lido como o nome de um arquivo a ser atualizado ou um subcomando para executar. Se você não especificar um valor para o parâmetro Nome na linha de comando, o comando rdist atualiza todos os arquivos e diretórios listados no arquivo de distribuição. Se você especificar - (sinal de menos) para o parâmetro Nome , o comando rdist usa entrada padrão. Se o nome de um arquivo especificado pelo parâmetro Nome for o mesmo que o nome de um subcomando, o comando rdist interpreta o parâmetro Nome como um subcomando.

O comando rdist requer que um arquivo .rhosts seja configurado em cada host. Veja Formato de Arquivo para TCP/IP em Referência de Arquivos para detalhes.

Observação:
  1. Se o comando rdist não estiver presente no diretório /usr/bin/rdist em uma máquina remota, crie um link a partir do diretório /usr/bin/rdist para a localização real do comando rdist . Este local é geralmente o diretório /usr/ucb/rdist .
  2. Atualmente, o comando rdist pode manipular apenas 7-bit nomes de arquivo ASCII.

Sinalizações

Item Descrição
-b Executa uma comparação binária e atualiza arquivos se eles diferirem.
-C Direciona o comando rdist para interpretar os argumentos restantes como um pequeno arquivo de distribuição. Os argumentos disponíveis são:
Nome
Especifica nome único ou lista de nomes separados por espaços em branco. O valor pode ser um arquivo ou um subcomando.
[ Login@ ]Host
Especifica a máquina a ser atualizada e, opcionalmente, o nome de login a ser notificado da atualização.
Destino
Especifica um arquivo na máquina remota se um único nome for especificado no argumento Nome ; especifica um diretório se mais de um nome for especificado.
Nota: Não use a sinalização -c com a bandeira -f, -dou -m .
-d Argumento=Valor Define a variável Argumento como tendo o valor especificado pela variável Valor . A sinalização -d define ou substitui definições de variáveis no arquivo distfile . A variável Valor pode ser especificada como uma string vazia, um nome ou uma lista de nomes cercados por parênteses e separados por guias ou espaços.
-d Liga a saída de depuração.
-f FileName Especifica o nome do arquivo de distribuição. Se você não utilizar a sinalização -f , o valor padrão será o arquivo distfile ou Distfile em seu diretório $HOME .
-h Copia o arquivo que o link aponta em vez do link em si.
-i Ignora links não resolvidos. O comando rdist mantém a estrutura de link de arquivos sendo transferidos e avisa os usuários se ele não puder localizar todos os links.
-m Anfitrião Limites que as máquinas devem ser atualizadas. Você pode usar a opção -m Host várias vezes para limitar as atualizações a um subconjunto dos hosts listados no arquivo distfile .
-n Imprime os subcomandos sem executá-los. Use a sinalização -n para depurar o arquivo distfile .
-q Opera em modo silencioso. A opção -q suprime a impressão de arquivos modificados na saída padrão.
-R Remove arquivos extrandos. Se um diretório está sendo atualizado, quaisquer arquivos que existirem no host remoto mas não no diretório principal são removidos. Use a sinalização -R para manter cópias idênticas de diretórios.
-v Verifica se os arquivos estão atualizados em todos os hosts; arquivos que estão fora de data são então exibidos. No entanto, o comando rdist -v não altera arquivos nem envia e-mails. Esta bandeira substitui a bandeira -b quando eles são usados juntos.
-y Evita que cópias recentes de arquivos sejam substituídas por arquivos que não são tão recentes. Os arquivos são normalmente atualizados quando seu registro de hora e tamanho diferem. A sinalização -y evita que o comando rdist atualize arquivos mais recentes do que o arquivo master.
-w Anexa o nome do caminho inteiro do arquivo para o nome do diretório de destino. Normalmente, o comando rdist usa apenas o último componente de um nome para renomear arquivos, preservando a estrutura de diretórios dos arquivos copiados. Quando a sinalização -w é usada com um nome de arquivo que começa com um ~ (inclinação), tudo, exceto o diretório home, é anexado ao nome de destino. Nomes de arquivo que não começam com um / (slash) ou um ~ (inclinação) usam o diretório home do usuário de destino como o diretório raiz para o resto do nome do arquivo.

Arquivo de Distribuição (Arquivo do distfile)

O arquivo de distribuição especifica os arquivos a serem copiados, hosts de destino para distribuição e operações a serem executadas ao atualizar arquivos a serem distribuídos com o comando rdist . Normalmente, o comando rdist usa o arquivo distfile em seu diretório $HOME . Você pode especificar um arquivo diferente Se você usa a sinalização -f .

Formatos De Entrada

Cada entrada no arquivo de distribuição tem um dos seguintes formatos:

Item Descrição
VariableName NameList Define as variáveis usadas em outras entradas do arquivo de distribuição(SourceList, DestinationList ou SubcommandList).
[Rótulo:] SourceList -> DestinationList SubcommandList Direciona o comando rdist para distribuir arquivos nomeados na variável SourceList para os hosts nomeados na variável DestinationList Os comandos de arquivo de distribuição executam funções adicionais.
[Rótulo:SourceList :: TimeStampFile SubcommandList                          Direciona o comando rdist para atualizar arquivos que foram alterados desde uma determinada data. Os subcomandos de arquivo de distribuição desempenham funções adicionais. Cada arquivo especificado com a variável SourceList será atualizado se o arquivo for mais novo que o arquivo de registro de data e hora. Este formato é útil para restaurar arquivos.

As etiquetas são opcionais e usadas para identificar um subcomando para atualizações parciais.

Entradas
Item Descrição
VariableName Identifica a variável utilizada no arquivo de distribuição.
NameList Especifica uma lista de arquivos e diretórios, hosts ou subcomandos.
SourceList Especifica arquivos e diretórios no host local para o comando rdist utilizar como a cópia principal para distribuição.
DestinationList Indica hospedeiros para receber cópias dos arquivos.
SubcommandList Lista subcomandos de arquivo de distribuição a serem executados.

O comando rdist trata caracteres de nova linha, guias e espaços em branco como separadores. As variáveis de arquivo de distribuição para expansão começam com um $(sinal de dólar) seguido por um único caractere ou um nome fechado em {} (braces). Os comentários começam com um # (sinal de libra) e terminam com um caractere de nova linha.

Formato de Lista de Origem e Destino

As listas de origem de arquivo de distribuição e de destino compreendem zero ou mais nomes separados por espaços em branco, como mostrado no seguinte formato:

[Name1] [Name2] [Name3] ...

O comando rdist reconhece e expande os seguintes metacaracteres shell no host local da mesma forma que para o comando csh .

  • [(suporte esquerdo)
  • ] (suporte direito)
  • {(brace esquerdo)
  • } (brace certo)
  • ((parêntese esquerdo)
  • ) (parêntese direito)
  • * (asterisco)
  • ? (marca de interrogação)

Para evitar que esses caracteres sejam expandidos, prece-os com um \ (backslash). O comando rdist também expande o ~ (inclinação) da mesma forma que para o comando csh , mas faz isso separadamente nos hosts locais e de destino.

Subcomandos do Arquivo de Distribuição

Vários comandos para o reservatório devem ser separados por um; (ponto e vírgula). Os comandos são executados no diretório home do usuário no host sendo atualizado. O subcomando especial pode ser usado para reconstruir bancos de dados privados depois que um programa foi atualizado.

A lista de subcomandos do arquivo de distribuição pode conter zero ou mais dos subcomandos a seguir:

Item Descrição
instalar OpçõesOptionalDestName]; Copia arquivos e diretórios desatualizados. O comando rdist copia cada arquivo de origem ou diretório para cada host na lista de destino. As opções disponíveis, conforme especificadas pela variável Options, são os sinalizadores do comando rdist -b, -h, -i, -R, -v, -w e -y. Essas opções se aplicam apenas aos arquivos especificados pela variável SourceList. Quando você usa a sinalização -R , diretórios não vazios são removidos se o nome do arquivo correspondente está ausente no host master. O parâmetro OptionalDestName omeia os arquivos.

Se nenhum subcomando instalação aparecer na lista de subcomandos ou o nome de destino não for especificado, o nome do arquivo de origem será usado. Diretórios no nome do caminho são criados se eles não existirem no host remoto. O nome de login usado no host de destino é o mesmo que o host local, a menos que o nome de destino seja do formato login@host.

notificar NameList; Envia a lista de arquivos atualizados e quaisquer erros que possam ter ocorrido para os nomes listados (o parâmetro NameList ). Se nenhum @ (em sinal) aparecer no nome, o host de destino será anexado ao nome (nome@host).
exceto NameList; Faz com que o comando rdist atualize todos os arquivos especificados pela entrada SourceList , exceto aqueles arquivos especificados pela variável NameList .
except_pat NameList; Impede que o comando rdist atualize quaisquer arquivos que contenham uma sequência que corresponda a um membro da lista especificado pela variável NameList .
especial NameList " String "; Especifica comandos shell (a variável "String" ) a serem executados no host remoto após o arquivo especificado pela variável NameList ser atualizado ou instalado. Se a variável NameList for omitida, os comandos shell serão executados para cada arquivo atualizado ou instalado. A variável shell FILE é configurada para o nome do arquivo atual antes que o comando rdist execute a variável "Sequência" . O valor "Sequência" deve ser enfechado em " " (aspas duplas) e pode atravessar várias linhas no arquivo de distribuição.

Status de saída

Esse comando retorna os valores de saída a seguir:

Item Descrição
0 Conclusão bem-sucedida.
>0 Especifica que ocorreu um erro.

Exemplos

Exemplos do Formato: VariableName = NameList .
  1. Para indicar quais os arquivos dos hosts para atualizar, digite uma linha semelhante à seguinte:
    HOSTS =( matisse root@arpa )
    onde oHOSTSvariável é definida para sermatisseeroot@arpa. O comando rdist atualiza arquivos nos hostsmatisseeroot@arpa. Você poderia usar esta variável como uma lista de destino.
  2. Para indicar um nome para usar como um valor para uma entrada SourceList , insira uma linha semelhante à seguinte:
    FILES = ( /bin /lib/usr/bin /usr/games
        /usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h}
           /usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )
    onde oFILESé definido para ser os arquivos a serem usados para a entrada SourceList .
  3. Para indicar quais arquivos excluir do processo de atualização, digite uma linha semelhante à seguinte:
    EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc
        sendmail.cf sendmail.fc sendmail.hf sendmail.st uucp vfont)
    onde oEXLIBvalor é definido como uma lista de arquivos a serem excluídos do processo de atualização.
  4. Para copiar todos os arquivos de /usr/src/bin para arpa expandindo a variável namelist para que todos os arquivos, exceto aqueles presentes na variável namelist e tendo.ocomo uma extensão são copiados:
    /usr/src/bin ->arpa
    except_pat(\e\e.o\e ${<namelist> /SCCS\e ${<namelist>}

    ou

    /usr/src/bin ->arpa
    except_pat(\\.o\e ${<namelist> /SCCS\e ${<namelist>}
  5. Para copiar todos os arquivos de /usr/src/bin para arpa , exceto aqueles com um.oextensão:
    /usr/src/bin ->arpa
    except_pat(\\.o\$ /SCCS\$
Exemplos do Formato: [label:] SourceList - DestinationList SubcommandList
  1. Para copiar uma lista de origem de arquivos para uma lista de destino de hosts, digite uma linha semelhante à seguinte:
    ${FILES} ->${HOSTS}
        install -R
        except /usr/lib/${EXLIB}  ;
        except /usr/games/lib  ;
        special /usr/sbin/sendmail "/usr/sbin/sendmail.bz"  ;
    A entrada de [Rótulo:] da linha é opcional e não mostrada aqui. O $(sinal de dólar) e o {} (braces) causam os nomes de arquivoFILES,HOSTSeEXLIBser expandida para as listas designadas para elas nos exemplos anteriores. O restante do exemplo compreende a lista de subcomandos.
  2. Para usar a entrada [Rótulo:], digite a linha da seguinte forma:
    srcsL:
    /usr/src/bin -> arpa
        except_pat (\e\e.o\e$ /SCCS\e$ ) ;

    O rótulo ésrcsL:e pode ser usado para identificar essa entrada para atualização. Os comandos/usr/src/binarquivo é a origem a ser copiada e hostarpaé o destino da cópia. A terceira linha contém um subcomando da lista de subcomandos.

  3. Para usar um arquivo de carimbo de tempo, digite uma linha semelhante à seguinte:
    ${FILES} :: stamp.cory
        notify root@cory
    Os $(sinal de dólar) e {} (braces) causam o nome especificado porFILESser expandido para a lista designada para ela. O arquivo de carimbo de tempo éstamp.cory. A última linha é um subcomando da lista de subcomandos.

Arquivos

Item Descrição
/usr/bin/rdist Contém o comando rdist .
$HOME/distfile Contém uma lista de subcomandos a serem lidos pelo comando rdist .
/tmp/rdist Contém uma lista de atualização. Este é um arquivo temporário.

/usr/sbin/rdist Comando

Este documento descreve o antigo comando AIX rdist localizado no arquivo /usr/bin/rdist assim como o novo comando /usr/sbin/rdist que é usado com o novo daemon do rdistd .

Propósito (/usr/sbin/rdist)

Programa cliente para distribuição de arquivos remotamente.

Sintaxe (/usr/sbin/rdist)

Para Usar um Arquivo de Distribuição

/usr/sbin/rdist [ -F n ] [ -A num ] [ -a num ] [ -d var=valor] [ -l < logopts locais> ] [ -L <logopts remotos> ] [ -f distfile] [ -M maxproc -m host ] [ -o destops ] [ -t tempo limite ] [ -p <rdist-path> ] [ -P <transporte-caminho> ] [ nome ... ]

Para Interpretar Argumentos como um Arquivo de Pequena Distribuição

/usr/sbin/rdist -Fn -c name... [ login@ ] host [ :dest ]

Para Chamar o rdist Velho como um Servidor

/usr/sbin/rdist -Servidor

Para Informações Versão

/usr/sbin/rdist -V

Descrição (/usr/sbin/rdist)

rdist é um programa para manter cópias idênticas de arquivos sobre vários hosts. Ele preserva o proprietário, o grupo, o modo e o tempo de modificação de arquivos se possível e pode atualizar programas que estão em execução. O comando rdist pode receber direção a partir das seguintes fontes:
  • O arquivo de distribuição distfile no diretório atual.
  • A entrada padrão se distfile for especificado como-.
  • Se a sinalização -f não for usada, rdist procura o arquivo denominado distfile e Distfile.
  • Se a sinalização -c for usada, os argumentos rasos são interpretados como um pequeno distfile. O equivalente distfile é o seguinte.
    ( filename ... ) -> [user@]host
         install       [dest name] ;

Se nenhum argumento nome for especificado, rdist atualizará todos os arquivos e diretórios listados em distfile. Caso contrário, o argumento é levado para ser o nome de um arquivo a ser atualizado ou o rótulo de um comando a ser executado. Se o rótulo e os nomes de arquivo entram em conflito, ele é assumido como um rótulo. Estes podem ser usados juntos para atualizar arquivos específicos usando comandos específicos.

A opção -Servidor fornece compatibilidade retroativa para versões mais antigas de rdist que usaram essa opção para colocar rdist no modo servidor. Se rdist for iniciado com a opção de linha de comandos -Servidor , ele tentará rodar a versão antiga de rdist. Esta opção só funcionará se o antigo rdist estiver localizado em /usr/bin/rdist.

rdist usa um programa de transporte arbitrário para acessar cada host de destino. O programa de transporte pode ser especificado na linha de comando com a sinalização -P . Se a sinalização -P não for usada, rsh é tido como o programa de transporte. Se o método rsh for usado e o host de destino for a string localhost e o nome do usuário remoto for o mesmo que o nome do usuário local, rdist tentará executar o seguinte comando:
/bin/sh -c rdistd -S
Caso contrário rdist executará o seguinte comando:
rsh host -l remuser rdistd -S

No exemplo que precede, o parâmetro host é o nome do host de destino, remuser é o nome do usuário para fazer a conexão como e, rdistão é o comando do servidor rdist no host de destino.

O programa de transporte deve ser compatível com a sintaxe para rsh. Se não, o programa de transporte deve ser enrolado em um shell script que compreende essa sintaxe de linha de comando.

Em cada host de destino rdist executará o seguinte comando:

rdistd -S

ou

<rdistd path> -S

No exemplo anterior, a sinalização -p foi especificada. Se -p flag não estiver incluso, ou o caminho do < rdistd> é um simples filename, rdistão ou < rdistd path> deve estar em algum lugar no PATH do usuário executando rdist no host remoto (destino).

O comando rdist usa as seguintes variáveis de ambiente:
Item Descrição
TMPDIR Nome do diretório temporário a ser utilizado. Padrão é /tmp.

Sinalizadores (/usr/sbin/rdist)

Item Descrição
-A num Atualize ou instale arquivos apenas se um número mínimo de arquivos grátis (inodes) existir em um sistema de arquivos.
-a num Atualizar ou instalar arquivos somente se uma quantidade mínima de espaço livre existir em um sistema de filesystem.
-d var = valor Designar valor para a variável var. Esta opção é usada para definir ou substituir definições de variáveis no distfile. Valor pode ser a string vazia, um nome ou uma lista de nomes cercados por parênteses e separados por guias e / ou espaços.
-F Atualize todos os clientes sequencialmente sem forquir os processos da criança.
-f arquivo de distribuição Use distfile como o arquivo de distribuição. Se distfile for especificado como-, leia a partir de entrada padrão.
-l logopts Configura opções de registro local. Veja a seção Registro De Mensagens para obter mais informações sobre a sintaxe para logopts.
-L logopts Configura opções de registro remoto. logopts é o mesmo que para registro local, exceto os valores são passados para o servidor remoto (rdistão ). Veja a seção Registro De Mensagens para obter mais informações sobre a sintaxe de logopts.
-M num Limite o número máximo de processos da criança rdist em execução simultânea para num. O padrão é 4.
-m máquina Limita a atualização de arquivos para a máquina dada. Vários argumentos -m podem ser dados para limitar as atualizações a um subconjunto dos hosts listados no distfile.
-n Exibir mas não executar comandos. Use a sinalização -n para debug distfile.
-o destopts Especifica as opções de dist para ativar. destopts é uma lista de opções separada por vírgula. Os valores válidos para destopts são:
chknfs
Se o filesystem de destino for NFS, não verifique ou atualize arquivos.
chkreadonly
Se um arquivo no host de destino residir em um filesystem de leitura, nenhuma verificação ou atualização do arquivo será tentado.
chksym
Se o destino no host remoto for um link simbólico, mas não estiver no host principal, o destino remoto será um link simbólico.
comparar
Realizar uma comparação binária e atualizar arquivos se eles diferirem.
seguir
Copie o arquivo que o link simbólico aponta em vez do link em si.
ignições
Ignorar links que não resoltem. O comportamento normal de rdist é avisar o usuário sobre links não resolvidos.
proprietário de nochk
Se o arquivo já existir, não verifique a propriedade do usuário. A propriedade do arquivo só é definida quando o arquivo é atualizado.
nochkgroup
Se o arquivo já existir, não verifique a propriedade do grupo. A propriedade do arquivo só é definida quando o arquivo é atualizado.
modo nochkmode
Evite verificar os modos de permissão de arquivo e diretório. O modo de permissão só é configurado quando o arquivo é atualizado.
nodescendência
Não descesse recursivamente em um diretório. Apenas a existência, a propriedade e o modo do diretório são verificados.
noexec
Não verifique ou atualize os arquivos executável que estão no formato a.out
grupo numérico
Use o id do grupo numérico (gid) para verificar a propriedade do grupo em vez do nome do grupo.
proprietário
Use o id do usuário numérico (uid) para verificar a propriedade do usuário em vez do nome de usuário.
calado
Suprime arquivos de impressão que estão sendo modificados na saída padrão.
remover
Remova quaisquer arquivos em diretórios que existem no host remoto que não existem no diretório principal no host local.
savedestinos
Salvar arquivos que são atualizados em vez de removê-los. Os arquivos de destino que são atualizados são primeiramente renomeados de filename para filename.OLD.
escasso
Habilitar a verificação de arquivos esparsos. Esta opção adiciia algum excesso de processamento adicional de modo que ele só deve ser ativado para destinos propensos a conter arquivos esparsos.
-o destopts (dist opções, continuação):
verificar
Qualquer arquivo em qualquer host que esteja fora de data será exibido mas nenhum arquivo será alterado nem qualquer e-mail enviado.
conjunto
Todo o nome do arquivo é anexado ao nome do diretório de destino. Normalmente, apenas o último componente de um nome é usado ao renomear arquivos. Isso preservará a estrutura de diretórios dos arquivos que estão sendo copiados em vez de flatendem a estrutura de diretórios. Por exemplo, rdisting uma lista de arquivos como /path/dir1/f1 e /path/dir2/f2 para /tmp/dir criaria arquivos /tmp/dir/path/dir1/f1 e /tmp/dir/path/dir2/f2 em vez de /tmp/dir/dir1/f1 e /tmp/dir/dir2/f2.
mais jovem
Os arquivos são normalmente atualizados se os seus mtempo e tamanho discordam. Esta opção faz com que rdist não atualize arquivos que sejam mais jovens do que a cópia principal. Isso pode ser usado para evitar que cópias mais recentes em outros hosts sejam substituídas. Uma mensagem de aviso é impressa para arquivos que são mais recentes do que a cópia principal.
- p <rdist-path> Procure o servidor rdistão no caminho dado no host de destino.
- P <rdist-path> Use o programa de transporte como dado em transporte-caminho. O transporte-caminho pode ser uma lista seperada de dois nomes de possíveis patinadores. Nesse caso, usa-se o primeiro componente do caminho a existir.
-t tempo limite Configura o período tempo limite (em segundos) para espera por respostas do servidor rdist remoto. O padrão é 900 seconds.
-V Imprime as informações da versão e sai.

Registro de mensagens

O comando rdist fornece um conjunto de instalações de mensagens, cada uma das quais contém uma lista de tipos de mensagens especificando quais tipos de mensagens enviar para aquela instalação. O cliente local (rdist) e o servidor remoto (rdistão) cada um mantêm cópias separadas de quais tipos de mensagens para registrar em quais instalações.

A sinalização -l logopts especifica quais opções de registro de logs usar localmente no cliente. O sinalizador -L logopts especifica quais opções de registro para passar para o servidor rdistão remoto.

A forma de logopts deve ser a seguinte:
facility=types:facility= types... 
Os nomes de instalações válidas são os seguintes:
stdout
Mensagens para saída padrão.
Arquivo
As mensagens são enviadas para um arquivo. O nome do arquivo pode ser especificado pelo formato file = filename = types.
syslog
As mensagens são enviadas para a instalação syslogd .
notify
As mensagens são enviadas para a instalação interna rdistnotificar . Esta instalação é usada em conjunto com o ph notificar em um distfile para especificar quais mensagens são enviadas para o endereço notificar .
tipos deve ser uma lista separada por vírgula de tipos de mensagens. Cada tipo de mensagem especificado habilita esse nível de mensagem. Isso é diferente da facilidade do sistema syslog que usa um esquema de ordem crescente. Confessa a seguir os tipos válidos:
alterar
Registrar mensagens para coisas que mudam.
info
Registrar informações gerais.
aviso
Registrar mensagens para informações gerais sobre coisas que mudam. Isso inclui coisas como fazer diretórios que são necessários a fim de instalar um alvo específico, mas que não são especificados explicitamente no distfile.
nerro
Mensagens de log para erros normais que não são fatais.
erro
Mensagens de log para erros fatais.
aviso
Registrar avisos sobre erros que não são tão graves como as mensagens do tipo nerror .
verbose
Registrar mensagens para obter mais informações do que o normal, mas menos do que depurar nível.
debug
Log depurando informações.
Todos
Registrar todas as mensagens de depuração.

Arquivo de Distribuição (/usr/sbin/rdist)

O arquivo de distribuição especifica os arquivos a serem copiados, hosts de destino para distribuição e operações a serem executadas ao atualizar arquivos a serem distribuídos com o comando rdist .

Formatos De Entrada
Cada entrada no arquivo de distribuição tem um dos seguintes formatos:
VariableName = NameList
Define as variáveis usadas em outras entradas do arquivo de distribuição(SourceList, DestinationList ou SubcommandList).
[Label:] SourceList -> DestinationList SubcommandList
Direciona o comando rdist para distribuir arquivos nomeados na variável SourceList para os hosts nomeados na variável DestinationList
Os comandos de arquivo de distribuição executam funções adicionais.
[ SourceList:: TimeStampFile SubcommandList
Direciona o comando rdist para atualizar arquivos que foram alterados desde uma determinada data. Os subcomandos de arquivo de distribuição desempenham funções adicionais.
Cada arquivo especificado com a variável SourceList será atualizado se o arquivo for mais novo que o arquivo de registro de data e hora.

As etiquetas são opcionais. Eles são usados para identificar um comando para atualizações parciais.

Entradas
Item Descrição
VariableName Identifica a variável utilizada no arquivo de distribuição.
NameList Especifica uma lista de arquivos e diretórios, hosts ou subcomandos.
SourceList Especifica arquivos e diretórios no host local para o comando rdist utilizar como a cópia principal para distribuição.
DestinationList Indica hospedeiros para receber cópias dos arquivos.
SubcommandList Lista subcomandos de arquivo de distribuição a serem executados.

O comando rdist trata caracteres de nova linha, guias e espaços em branco como separadores. As variáveis de arquivo de distribuição para expansão começam com um sinal de dólar seguido de um único caractere ou de um nome fechado entre aparelhos.

Os comentários começam com um sinal de libra e terminam com um caractere de nova linha.

Formato de Lista de Origem e Destino
As listas de origem de arquivo de distribuição e de destino compreendem zero ou mais nomes separados por espaços em branco, como mostrado no seguinte formato:
[Name1] [Name2] [Name3] ...
O comando rdist reconhece e expande os seguintes metacaracteres shell no host local da mesma forma que para o comando csh .
  • [suporte esquerdo
  • ] suporte certo
  • {esquerda brace
  • } brace certo
  • (parêntese esquerdo
  • ) parêntese certo
  • * asterisco
  • ? marca de perguntas

Para evitar que esses caracteres sejam expandidos, prece-os com uma barra invernada. O comando rdist também expande a inclinação da mesma forma que para o comando csh , mas faz isso separadamente nos hosts locais e de destino. Quando a opção -o conjunto é usada com um nome de arquivo que começa com um tilde, tudo, exceto o diretório home, é anexado ao nome de destino. Nomes de arquivo que não começam com uma barra ou uma inclinação usam o diretório inicial do usuário do destino como o diretório raiz para o restante do nome do arquivo.

Subcomandos do Arquivo de Distribuição

Vários comandos para a casca devem ser separados por um ponto e vírgula. Os comandos são executados no diretório home do usuário no host sendo atualizado. O subcomando especial pode ser usado para reconstruir bancos de dados privados depois que um programa foi atualizado.

A lista de subcomandos do arquivo de distribuição pode conter zero ou mais dos subcomandos a seguir:
instalar OptionsOptionalDestName];
Copia arquivos e diretórios desatualizados. O comando rdist copia cada arquivo de origem ou diretório para cada host na lista de destino.
As opções disponíveis conforme especificado pela variável Opções são as bandeiras do comando rdist -b, -h, -i, -R, -v, -we -y.
Essas opções aplicam-se apenas aos arquivos especificados pela variável SourceList .

Quando você usa a sinalização -R , diretórios não vazios são removidos se o nome do arquivo correspondente está ausente no host master. O parâmetro OptionalDestName omeia os arquivos.

Se nenhum subcomando de instalação aparecer na lista de subcomando ou o nome de destino não for especificado, o nome do arquivo de origem será usado. Diretórios no nome do caminho são criados se eles não existirem no host remoto.

O nome de login usado no host de destino é o mesmo que o host local, a menos que o nome do destino seja do formato login@host.

notificar NameList;
Envia a lista de arquivos atualizados e quaisquer erros que possam ter ocorrido para os nomes listados (o parâmetro NameList ).
Se nenhum @ (sinal de arroba) aparecer no nome, o host de destino será anexado ao nome (name@host).
exceto NameList;
Faz com que o comando rdist atualize todos os arquivos especificados pela entrada SourceList , exceto aqueles arquivos especificados pela variável NameList .
exceto_pat NameList;
Impede que o comando rdist atualize quaisquer arquivos que contenham uma sequência que corresponda a um membro da lista especificado pela variável NameList .
especial NameList "String";
Especifica comandos shell (a variável "String") a serem executados no host remoto após o arquivo especificado pela variável NameList ser atualizado ou instalado.
Se a variável NameList for omitida, os comandos shell serão executados para cada arquivo atualizado ou instalado.
O shell variável FILE é configurado com o nome do arquivo atual antes que o comando rdist execute a variável "String".
A variável REMFILE contará com o nome completo do arquivo remoto que foi apenas atualizado e a variável BASEFILE contará com o basename do arquivo remoto que foi apenas atualizado.
O valor "String" deve ser enfechado em aspas duplas e pode cruzar várias linhas no arquivo de distribuição.
cmdspecial NameList "String";
O comando cmdespecial é semelhante ao comando especial , exceto ele é executado apenas quando o comando inteiro for concluído em vez de depois de cada arquivo ser atualizado.
A variável shell FILES conterá a lista de arquivos. Cada nome de arquivo na variável shell FILES é separado por um cólon.

NFS cheques são desativados se um hostname termina em um sinal de mais. Isso é equivalente a desabilitar a opção -o chknfs apenas para este host.

Status de Saída (/usr/sbin/rdist)

Esse comando retorna os valores de saída a seguir:

Item Descrição
0 Conclusão bem-sucedida.
>0 Ocorreu um erro.

Exemplos (/usr/sbin/rdist)

  1. Para indicar quais os arquivos dos hosts para atualizar, digite uma linha semelhante à seguinte:
    HOSTS =( matisse root@arpa )

    No exemplo anterior, a variável HOSTS é definida para ser matisse e root@arpa. O comando rdist atualiza arquivos nos hosts matisse e root@arpa.

    Você poderia usar esta variável como uma lista de destino.

  2. Para indicar um nome a ser usado como um valor para uma entrada SourceList , insira uma linha semelhante à seguinte:
    FILES = ( /bin /lib/usr/bin /usr/games
        /usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h}
           /usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )

    No exemplo anterior, o valor FILES é definido como os arquivos a serem usados para a entrada SourceList .

  3. Para indicar quais arquivos excluir do processo de atualização, digite uma linha semelhante à seguinte:
    EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc
        sendmail.cf sendmail.fc sendmail.hf sendmail.st uucp vfont)

    No exemplo anterior, o valor EXLIB é definido como uma lista de arquivos a serem excluídos do processo de atualização.

  4. Para copiar todos os arquivos de /usr/src/bin para arpa expandindo a variável namelist para que todos os arquivos, exceto aqueles presentes na variável namelista e tendo o .o .o como uma extensão sejam copiados:
    /usr/src/bin ->arpa
    except_pat(\e\e.o\e ${<namelist> /SCCS\e ${<namelist>}

    ou

    /usr/src/bin ->arpa
    except_pat(\\.o\e ${<namelist> /SCCS\e ${<namelist>}
  5. Para copiar todos os arquivos de /usr/src/bin para arpa, exceto aqueles com uma extensão do.:
    /usr/src/bin ->arpa
    except_pat(\\.o\$ /SCCS\$

Exemplos do Formato: [label:] SourceList - DestinationList SubcommandList

  1. Para copiar uma lista de origem de arquivos para uma lista de destino de hosts, digite uma linha semelhante à seguinte:
    ${FILES} ->${HOSTS}
        install -R
        except /usr/lib/${EXLIB}  ;
        except /usr/games/lib  ;
        special /usr/sbin/sendmail "/usr/sbin/sendmail.bz"  ;

    A entrada [Label:] entrada da linha é opcional e não mostrada aqui. O sinal de thedollar e o aparelho fazem com que o arquivo nomeia ARQUIVOS, HOSTS e EXLIB para serem expandidos nas listas designadas para eles nos exemplos anteriores.

    O restante do exemplo compreende a lista de subcomandos.

  2. Para usar a entrada [Label:], digite a linha da seguinte forma:
    srcsL:
    /usr/src/bin -> arpa
        except_pat (\e\e.o\e$ /SCCS\e$ ) ;

    O rótulo é srcsL: e pode ser usado para identificar essa entrada para atualização. O arquivo /usr/src/bin é a origem a ser copiada e o host arpa é o destino da cópia.

    A terceira linha contém um subcomando da lista de subcomandos.

  3. Para usar um arquivo de carimbo de tempo, digite uma linha semelhante à seguinte:
    ${FILES} :: stamp.cory
        notify root@cory

    O sinal de dólar e os aparelhos fazem com que o nome especificado pelo FILES seja expandido para a lista designada para ele. O arquivo de registro de data e hora é stamp.cory..

    A última linha é um subcomando da lista de subcomandos.

Arquivos (/usr/sbin/rdist)

Item Descrição
/usr/sbin/rdist Contém o comando rdist , na versão 6.1.5
arquivo de distribuição Contém os comandos de entrada.
$TMPDIR/rdist * O arquivo temporário para listas de atualização.