2

У меня есть сервер Ubuntu под управлением Serviio в качестве медиа-сервера DLNA.

В основном, единственное, что делает сервер, - это проверяет наличие нового носителя на удаленном сервере. Я запускаю этот скрипт каждую минуту с 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

вы видите, что я использовал более слабый шифр, nice и ionice, но если rsync, например, найдет хороший файл 6 ГБ, и в это время я выполняю потоковую передачу мультимедиа, это приведет к тому, что воспроизведение будет буферизоваться и переходить.

Поможет ли это, если я перенесу этот скрипт на удаленный сервер и вытолкну данные вместо того, чтобы вытащить его? или это не делает различий?

какие-либо другие предложения?

1 ответ1

2

Если проблема связана с пропускной способностью, проверьте параметры rsync, например:

   --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.

В зависимости от причины сбоя, возможно:

   -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).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .