rsync com servidor remoto causando problema no media player

2

Eu tenho um servidor ubuntu executando o Serviio como um servidor de mídia DLNA.

praticamente a única outra coisa que o servidor está fazendo é verificar se há novas mídias em um servidor remoto. Estou executando este script a cada minuto com o cron.

#!/bin/bash
DestDir='/home/vince/media'
lockfile='/home/vince/cron/sync.lock'

if [ ! -e $lockfile ]; then
   trap "rm -f $lockfile; exit" INT TERM EXIT
   touch $lockfile
   nice -n 20 ionice -c 3 rsync -axvmP --rsh="ssh -c arcfour" --progress --delete --include='*/' --include='*.mkv' --include='*.mp4' --include='*.avi' --exclude='*' --log-file='/home/vince/log/sync' ***@***:/home/vince/media/ "$DestDir"
   rm $lockfile
   trap - INT TERM EXIT
   [ $? -eq 0 ] && logger 'RSYNC sync completed successfully' || logger 'RSYNC sync Failed'
else
   echo "script already running"
fi

você vê que eu usei uma cifra mais fraca, legal e ionizada, mas se o rsync encontrar um arquivo de 6GB legal por exemplo, e eu estiver fazendo streaming de mídia no momento, isso fará com que a reprodução fique em buffer e pule.

Ajudaria se eu movesse esse script para o servidor remoto e enviasse os dados para fora, em vez de puxá-los? ou não faz diferença?

alguma outra sugestão?

    
por Vince Lowe 03.01.2013 / 21:29

1 resposta

2

Se o problema é de largura de banda, então confira as opções do rsync como:

   --bwlimit=KBPS
          This  option  allows  you  to specify a maximum transfer rate in
          kilobytes per second for the data the daemon sends.  The  client
          can still specify a smaller --bwlimit value, but their requested
          value will be rounded down if they try to exceed  it.   See  the
          client version of this option (above) for some extra details.

Dependendo da causa do soluço, talvez:

   -z, --compress
          With this option, rsync compresses the file data as it  is  sent
          to  the  destination  machine,  which reduces the amount of data
          being transmitted â something that is useful over a slow connecâ
          tion.

          Note  that  this  option  typically  achieves better compression
          ratios than can be achieved by using a compressing remote  shell
          or  a  compressing  transport  because it takes advantage of the
          implicit information in the matching data blocks  that  are  not
          explicitly sent over the connection.

          See the --skip-compress option for the default list of file sufâ
          fixes that will not be compressed.

   --compress-level=NUM
          Explicitly set the compression level  to  use  (see  --compress)
          instead  of  letting it default.  If NUM is non-zero, the --comâ
          press option is implied.

   --skip-compress=LIST
          Override the list of file suffixes that will not be  compressed.
          The  LIST  should be one or more file suffixes (without the dot)
          separated by slashes (/).

          You may specify an empty string to indicate that no file  should
          be skipped.

          Simple  character-class matching is supported: each must consist
          of a list of letters inside the square brackets (e.g. no special
          classes, such as â[:alpha:]â

          The  characters  asterisk (*) and question-mark (?) have no speâ
          cial meaning.

          Here's an example that specifies 6 suffixes to skip (since 1  of
          the 5 rules matches 2 suffixes):

              --skip-compress=gz/jpg/mp[34]/7z/bz2

          The default list of suffixes that will not be compressed is this
          (several of these are newly added for 3.0.0):

              gz/zip/z/rpm/deb/iso/bz2/t[gb]z/7z/mp[34]/mov/avi/ogg/jpg/jpeg

          This list will be replaced by your --skip-compress list  in  all
          but  one  situation:  a  copy  from a daemon rsync will add your
          skipped suffixes to its list of non-compressing files  (and  its
          list may be configured to a different default).
    
por 09.01.2013 / 19:18