Rsync agradável na máquina remota

23

Ao usar o rsync + ssh para acessar uma máquina remota, existe uma maneira de "bom" o processo de rsync na máquina remota (para diminuir sua prioridade)?

Editando a pergunta para esclarecer:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
backups  16651 86.2  0.1   3576  1636 ?        Rs   11:06   0:06 rsync --ser...

(linha rsync cortada)

Esta é uma tarefa cron de backup que normalmente é executada às 4 da manhã, mas quando estou acordado (e comprometendo ou usando o Bugzilla hospedado na mesma máquina), ele mata o desempenho do servidor, então eu queria um "hack" rápido tente consertar um pouco.

    
por mwalling 18.08.2009 / 14:20

6 respostas

34

Você pode usar a opção --rsync-path , por exemplo.

rsync --rsync-path="nice rsync" foo remotebox:/tmp/
    
por 18.08.2009 / 14:52
7
  • Tomando a opção - rsyncpath você tem rsync --rsync-path="ionice -c 3 nice -n 12 rsync" localDirectory remoteHost:/tmp/
  • Tomando a opção do arquivo de configuração , você pode alterar ou descomentar o arquivo /etc/default/rsync o valor RSYNC_NICE='17' e o RSYNC_IONICE='-c3' valor

Para ambos, o valor ionice será para a prioridade do disco rígido

  • 1 - > Tempo real
  • 2 - > Melhor esforço
  • 3 - > Ildle (quando qualquer outro processo não estiver usando o HD)

para o valor nice da prioridade do processador

  • -20 (mais favorável ao processo)
  • (padrão 10) se -n não for especificado
  • 19 (menos favorável ao processo)
por 08.10.2015 / 10:03
2

Solução rápida e suja seria criar um pequeno script de wrapper chamado 'rsync' que cria sombras do $ PATH antes de um binário rsync real como:

#!/bin/sh
nice -10 /path/to/proper/rsync $*

Ou configure o arquivo authorized_keys para que ele execute nicing do rsync. (Supondo que você esteja usando chaves ssh).

exemplo:

command=”/home/user/bin/nice-rsync.sh" ssh-dss asdf....

Agora no seu /home/user/bin/nice-rsync.sh

#!/bin/sh
case $SSH_ORIGINAL_COMMAND in
  rsync\ --server*)
    nice -10 $SSH_ORIGINAL_COMMAND
    ;;
  *)
    $SSH_ORIGINAL_COMMAND
    ;;
esac

HTH

    
por 18.08.2009 / 14:43
2

Você pode desativar a compactação ao longo da rede, não incluindo o argumento -z , que pode economizar algum tempo de CPU em ambos os lados. Ou mude como o rsync usa checksums, veja em --checksum

    
por 18.08.2009 / 15:26
0

O rsync não deve estar usando muita CPU. Eu duvido que você possa forçar uma certa gentileza do outro lado, mas o que você poderia fazer é limitar a largura de banda que o rsync está usando com um firewall, o que reduziria a quantidade de processamento que ele poderia fazer em X.

    
por 18.08.2009 / 14:27
-7

Eu não penso assim, você precisa de uma solução personalizada para isso .. use ftp

    
por 18.08.2009 / 14:41