Você pode usar a opção --rsync-path
, por exemplo.
rsync --rsync-path="nice rsync" foo remotebox:/tmp/
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.
rsync --rsync-path="ionice -c 3 nice -n 12 rsync" localDirectory remoteHost:/tmp/
/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
para o valor nice da prioridade do processador
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
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
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.
Eu não penso assim, você precisa de uma solução personalizada para isso .. use ftp