Поскольку большие файлы сжимают сначала затем передачу или rsync-z? который был бы самым быстрым?

Она Вы хотите рискнуть своей базой данных, загружаемой или удаленной хакером, чем да, это - все, что необходимо сделать.

Если Вы хотели бы, чтобы Ваша база данных была безопасна от всех видов нападений, то Вы захотите создать хранимые процедуры для обработки всей вставки, обновления и удаления данных в базе данных, то назовите те хранимые процедуры вместо того, чтобы получить доступ к таблицам непосредственно.

Затем удалите пользователя из db_datareader и db_datawriter фиксированных ролей базы данных. Создайте новую роль (можно назвать ее чем-либо, что Вы любите), и сделайте своего пользователя членом той роли. Затем допустите что ролевой доступ на выполнение ко всем хранимым процедурам в базе данных. Код, чтобы предоставить, что роль (или пользователь в этом отношении) доступ выполняет хранимую процедуру:

GRANT EXEC ON {ProcedureName} TO {User Or Role Name}
14
задан 24 June 2010 в 02:39
5 ответов

Вы не можете "gzip все это", поскольку gzip только сжимают один файл, Вы могли создать файл tar и gzip он к "gzip все это", но Вы освободите rsync возможность копирования только измененного файла.

Таким образом, вопрос: лучше хранить файл, в котором я нуждаюсь к rsync gziped или полагаюсь на-z опцию rsync.
Ответ, вероятно, что Вы не хотите файл, разархивированный на Вашем сервере? Я предполагаю да, таким образом, я не вижу, как Вы могли справиться в gzip файл прежде, чем сделать rsync.

Можно ли быть, не нуждаются в rsync возможности копирования только измененного файла? В этом случае, почему с помощью rsync вместо того, чтобы делать scp tar.gz файла, содержащего материал?

Так или иначе для ответа на вопрос rsync gzip будет немного менее эффективным, чем gziping файл с gzip. Почему? потому что rsync будет gzip блок данных блоком, таким образом, меньший набор данных будет использоваться для составления таблицы, что использование gzip, чтобы сделать сжатие, больший набор данных (gzip использовал бы целый файл сразу) дает лучшую таблицу сжатия. Но разница будет очень очень небольшой в большей части случая, но в очень редком случае различие может быть более важным (если у Вас есть очень большой файл с очень длинным partern, повторяющим многих время на файле, но далеко друг от друга) (Это - очень упрощенный пример),

11
ответ дан 2 December 2019 в 21:05

Если Вы только копируете данные, после того как, rsync не будет большой победой в и себя. Если Вам нравится gzip, (или tar+gzip, так как у Вас есть много файлов), Вы могли бы попробовать что-то как:

tar -cz /home/me/source/directory | ssh target tar -xz --directory /home/you/target/directory

Это получило бы сжатие, которое Вы ищете и просто копируете непосредственно, не включая rsync.

6
ответ дан 2 December 2019 в 21:05

По словам этого парня это может просто быть быстрее для использования rsync -z, хотя я предположил бы, что это будет близко к столь же эффективному как сжимающий каждый файл сначала перед передачей. Это должно быть быстрее, чем сжатие потока tar, как предложили другие.

Из страницы справочника:

          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.
2
ответ дан 2 December 2019 в 21:05
  • 1
    , который я предложил бы использовать - compress-level=1 с rsync-z, если у Вас есть быстрая сеть. Вы хотите, чтобы сеть была Вашим узким местом, не ЦП или диском IO, для уменьшения общего времени трансфера. Если сеть является медленной, с помощью значения по умолчанию-z (который эквивалентен gzip-6, я думаю), мог бы все еще сделать сеть процесса связанной. –  rmalayter 9 July 2010 в 16:36

@radius, небольшая проблема, которую стоит выбрать в отношении того, как работает gzip - gzip - это блочный алгоритм сжатия, довольно простой который. В таблицу сжатия не входит весь файл - только каждый блок. Другие алгоритмы могут использовать все содержимое файла, а некоторые используют содержимое нескольких блоков или даже блоков переменного размера. Замечательный пример - lrzip того же автора, что и rsync !

Тощий алгоритм gzip .

Итак, Таким образом, использование rsync -z , скорее всего, даст такое же сжатие, что и gzip в первую очередь - и если вы выполняете дифференциальную передачу, лучше из-за алгоритм сравнения rsync .

Тем не менее, я думаю, что вы обнаружите, что обычный scp легко превосходит rsync для недифференциальных передач - потому что он будет иметь гораздо меньше накладных расходов, чем rsync алгоритм (который в любом случае будет использовать scp под капотом!)

Если ваша сеть действительно становится узким местом, тогда вы захотите использовать сжатие по сети.

Если ваши диски являются узким местом, то лучше всего использовать потоковую передачу в сжатый файл. (например, netcat с одной машины на другую, поток в gzip -c )

Обычно, если скорость является ключевым моментом, предварительное сжатие существующего файла расточительно.

TIMTOWTDI, YMMV, IANAL и т. Д.

Я думаю, вы обнаружите, что обычный scp легко превосходит rsync для недифференциальных передач - потому что он будет иметь гораздо меньше накладных расходов, чем алгоритм rsync (который бы В любом случае используйте scp под капотом!)

Если ваша сеть действительно становится узким местом, тогда вы захотите использовать сжатие на проводе.

Если ваш 1146172] диски являются узким местом, поэтому лучше всего будет использовать потоковую передачу в сжатый файл. (например, netcat с одной машины на другую, поток в gzip -c )

Обычно, если скорость является ключевым моментом, предварительное сжатие существующего файла расточительно.

TIMTOWTDI, YMMV, IANAL и т. Д.

Я думаю, вы обнаружите, что обычный scp легко превосходит rsync для недифференциальных передач - потому что он будет иметь гораздо меньше накладных расходов, чем алгоритм rsync (который бы В любом случае используйте scp под капотом!)

Если ваша сеть действительно становится узким местом, тогда вы захотите использовать сжатие на проводе.

Если ваш 1146172] диски являются узким местом, поэтому лучше всего использовать потоковую передачу в сжатый файл. (например, netcat с одной машины на другую, поток в gzip -c )

Обычно, если скорость является ключевым моментом, предварительное сжатие существующего файла расточительно.

TIMTOWTDI, YMMV, IANAL и т. Д.

тогда вы захотите использовать сжатие по сети.

Если ваши диски являются узким местом, то лучше всего будет использовать потоковую передачу в сжатый файл. (например, netcat с одной машины на другую, поток в gzip -c )

Обычно, если скорость является ключевым моментом, предварительное сжатие существующего файла расточительно.

TIMTOWTDI, YMMV, IANAL и т. Д.

тогда вы захотите использовать сжатие по сети.

Если ваши диски являются узким местом, то лучше всего использовать потоковую передачу в сжатый файл. (например, netcat с одной машины на другую, поток в gzip -c )

Обычно, если скорость является ключевым моментом, предварительное сжатие существующего файла расточительно.

TIMTOWTDI, YMMV, IANAL и т. Д.

5
ответ дан 2 December 2019 в 21:05

Поскольку и scp сжатого файла, и rsync будут занимать очень похожее время передачи, "наиболее эффективным способом сделать это" будет сжатие на лету, а не чем сжатие, перенос.

В дополнение к «быстродействию» другие соображения включают:

rsync можно легко перезапустить, если не все файлы переданы.

rsync можно использовать для обслуживания файлов на удаленной машине. .

локальный tar или gzip требует локального пространства.

Рекомендации по использованию порта как для целевой машины, так и для брандмауэров: 1) scp использует порт 22 (по умолчанию), что может быть неприемлемо. 2) порт 873 пользователей rsync (по умолчанию)

Я не уверен, почему радиус ожидает, что исходный плакат НЕ хочет хранить распакованные файлы.

1
ответ дан 2 December 2019 в 21:05

Теги

Похожие вопросы