Она Вы хотите рискнуть своей базой данных, загружаемой или удаленной хакером, чем да, это - все, что необходимо сделать.
Если Вы хотели бы, чтобы Ваша база данных была безопасна от всех видов нападений, то Вы захотите создать хранимые процедуры для обработки всей вставки, обновления и удаления данных в базе данных, то назовите те хранимые процедуры вместо того, чтобы получить доступ к таблицам непосредственно.
Затем удалите пользователя из db_datareader и db_datawriter фиксированных ролей базы данных. Создайте новую роль (можно назвать ее чем-либо, что Вы любите), и сделайте своего пользователя членом той роли. Затем допустите что ролевой доступ на выполнение ко всем хранимым процедурам в базе данных. Код, чтобы предоставить, что роль (или пользователь в этом отношении) доступ выполняет хранимую процедуру:
GRANT EXEC ON {ProcedureName} TO {User Or Role Name}
Вы не можете "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, повторяющим многих время на файле, но далеко друг от друга) (Это - очень упрощенный пример),
Если Вы только копируете данные, после того как, rsync не будет большой победой в и себя. Если Вам нравится gzip, (или tar+gzip, так как у Вас есть много файлов), Вы могли бы попробовать что-то как:
tar -cz /home/me/source/directory | ssh target tar -xz --directory /home/you/target/directory
Это получило бы сжатие, которое Вы ищете и просто копируете непосредственно, не включая rsync.
По словам этого парня это может просто быть быстрее для использования 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.
@radius, небольшая проблема, которую стоит выбрать в отношении того, как работает gzip
- gzip
- это блочный алгоритм сжатия, довольно простой который. В таблицу сжатия не входит весь файл - только каждый блок. Другие алгоритмы могут использовать все содержимое файла, а некоторые используют содержимое нескольких блоков или даже блоков переменного размера. Замечательный пример - lrzip
того же автора, что и rsync
!
Итак, Таким образом, использование 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 и т. Д.
Поскольку и scp сжатого файла, и rsync будут занимать очень похожее время передачи, "наиболее эффективным способом сделать это" будет сжатие на лету, а не чем сжатие, перенос.
В дополнение к «быстродействию» другие соображения включают:
rsync можно легко перезапустить, если не все файлы переданы.
rsync можно использовать для обслуживания файлов на удаленной машине. .
локальный tar или gzip требует локального пространства.
Рекомендации по использованию порта как для целевой машины, так и для брандмауэров: 1) scp использует порт 22 (по умолчанию), что может быть неприемлемо. 2) порт 873 пользователей rsync (по умолчанию)
Я не уверен, почему радиус ожидает, что исходный плакат НЕ хочет хранить распакованные файлы.