AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1147598
Accepted
Dennis
Dennis
Asked: 2023-11-10 22:05:26 +0800 CST2023-11-10 22:05:26 +0800 CST 2023-11-10 22:05:26 +0800 CST

Desligamento normal do sincronizador de arquivos uníssono

  • 772

Temos um processo que é executado todas as noites em vários sistemas Linux e Darwin (Macintosh) para fazer backup de objetos do sistema de arquivos. Também estamos executando a sincronização de arquivos unitários com a opção -repeat=watch, para que a sincronização seja o mais atualizada possível.

Nosso objetivo é encerrar normalmente os processos uníssonos antes da janela de backup e reiniciá-los depois. Atualmente, usamos o método relativamente deselegante de kill -SIGTERMno sistema que iniciou cada processo de sincronização. Embora funcione, não é o ideal e espero que haja uma maneira ordenada de fazer isso que eu possa ter perdido. (É preciso examinar a documentação, por exemplo, para descobrir que o SIGUSR1 pode ser usado para fechar um arquivo de log, então espero que da mesma forma haja outro SIG* que possa ser usado para esse propósito.

Também seria bom incorporar isso ao nosso processo de desligamento do sistema.

Isso pode ser feito atualmente (a versão MAC é "versão uníssona 2.53.3 (ocaml 4.14.0)"; a versão unix (UBUNTU) é "versão uníssona 2.48.4".) Se não houver uma maneira elegante, farei o recurso solicitar.

synchronization
  • 1 1 respostas
  • 17 Views

1 respostas

  • Voted
  1. Best Answer
    John Mahowald
    2023-11-15T01:28:03+08:002023-11-15T01:28:03+08:00

    De acordo com o manual do unision , o sinal educado de parada de observação é SIGUSR2.

    6.10 Interrompendo uma sincronização

    Quando não está sincronizando continuamente, a interface de texto termina quando a sincronização é concluída normalmente ou devido à ocorrência de um erro fatal. Na interface de texto, para interromper a sincronização antes de sua conclusão, pressione “Ctrl-C” (ou envie o sinal SIGINT ou SIGTERM). Isso interromperá a propagação da atualização o mais rápido possível, mas ainda assim concluirá a limpeza adequada. Se o processo não parar mesmo depois de pressionar “Ctrl-C”, continue fazendo isso repetidamente. Isso ignorará os procedimentos de limpeza e encerrará o processo à força (semelhante ao SIGKILL). Fazer isso pode deixar os arquivos ou réplicas em estado inconsistente ou bloqueados. Ao sincronizar continuamente (repetição de intervalo de tempo ou com monitoramento do sistema de arquivos), interromper com “Ctrl-C” ou com sinal SIGINT ou SIGTERM funciona da mesma forma descrita acima e adicionalmente interromperá o processo contínuo. Para interromper apenas o processo contínuo e permitir que a última sincronização seja concluída normalmente, envie o sinal SIGUSR2.

    Ele possui um manipulador SIGTERM para sair normalmente. Em geral, com ferramentas relacionadas a arquivos, a limpeza significaria remover arquivos temporários cuja cópia não foi concluída, além de desbloquear quaisquer recursos.

    Implemente e teste um script que envie SIGUSR2, aguarde um pouco e, se ainda estiver em execução, envie SIGTERM. Por exemplo, se estiver usando um serviço systemd no Linux, o script ExecStop pode enviar este sinal, esperar um pouco e verificar o status da sincronização. Então, o sinal TERM usual do gerenciador de serviços garantiria o desligamento. Confirme que seus conjuntos de arquivos estão intactos. O fato de o programa de sincronização ser consistente com falhas não significa necessariamente que seus arquivos estejam todos no mesmo momento.


    Parece que você tem um método de backup independente do processo de sincronização, o que é bom.

    Não considero uma sincronização como essa por si só um backup suficiente. Bons backups são offline, imutáveis ​​e em diferentes mídias. Se um acidente ou malware gravasse dados incorretos em um lado, eles seriam sincronizados com o outro. E a resolução de conflitos de sincronização pode introduzir complicações, em vez de simplesmente criar um arquivo a partir de uma árvore.

    Um meio independente de backup também oferece garantias de que as alterações no procedimento de sincronização de arquivos não causam perda de dados. Na pior das hipóteses, pegue arquivos de backup, protegidos com segurança contra gravações.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve