sync
Описание
Синхронизирует директории и префиксы S3. Рекурсивно копирует новые и обновленные файлы из исходной директории в целевую. Создаёт папки в целевой директории только если они содержат один или несколько файлов.
Синтаксис
sync
<LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>
[--dryrun]
[--quiet]
[--include <value>]
[--exclude <value>]
[--acl <value>]
[--follow-symlinks | --no-follow-symlinks]
[--no-guess-mime-type]
[--sse <value>]
[--sse-c <value>]
[--sse-c-key <value>]
[--sse-kms-key-id <value>]
[--sse-c-copy-source <value>]
[--sse-c-copy-source-key <value>]
[--storage-class <value>]
[--grants <value> [<value>...]]
[--website-redirect <value>]
[--content-type <value>]
[--cache-control <value>]
[--content-disposition <value>]
[--content-encoding <value>]
[--content-language <value>]
[--expires <value>]
[--source-region <value>]
[--only-show-errors]
[--no-progress]
[--page-size <value>]
[--ignore-glacier-warnings]
[--force-glacier-transfer]
[--request-payer <value>]
[--checksum-mode <value>]
[--checksum-algorithm <value>]
[--metadata <value>]
[--copy-props <value>]
[--metadata-directive <value>]
[--size-only]
[--exact-timestamps]
[--delete]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
paths (строка)
--dryrun (логическое значение) Отображает операции, которые будут выполнены с помощью указанной команды, но фактически не выполняет их.
--quiet (логическое значение) Не отображает операции, выполненные от указанной команды.
--include (строка) Не исключает файлы или объекты в команде, которые соответствуют указанному шаблону. Подробнее см. Использование фильтров исключения и включения.
--exclude (строка) Исключает все файлы или объекты из команды, которые соответствуют указанному шаблону.
--acl (строка) Устанавливает ACL для объекта при выполнении команды. Если вы используете этот параметр, у вас должны быть включены разрешения «s3:PutObjectAcl» в списке действий для вашей политики IAM. Принимает только значения private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control и log-delivery-write. Подробнее см. Canned ACL.
--follow-symlinks | --no-follow-symlinks (логическое значение) Символические ссылки отслеживаются только при загрузке в S3 из локальной файловой системы. Обратите внимание, что S3 не поддерживает символические ссылки, поэтому содержимое целевого объекта ссылки загружается под именем ссылки. Если ни --follow-symlinks ни --no-follow-symlinks не указано, по умолчанию отслеживаются ссылки.
--no-guess-mime-type (логическое значение) Не пытаться угадать тип MIME для загружаемых файлов. По умолчанию тип MIME файла угадывается при загрузке.
--sse (строка) Указывает шифрование объекта в S3 на стороне сервера. Допустимые значения — AES256 и aws:kms. Если параметр указан, но значение не указано, используется AES256.
--sse-c (строка) Указывает шифрование на стороне сервера с использованием ключей, предоставленных клиентом, для объекта в S3. AES256 — единственное допустимое значение. Если параметр указан, но значение не указано, используется AES256. Если вы предоставляете это значение, также необходимо указать --sse-c-key.
--sse-c-key (байты) Ключ шифрования, предоставленный клиентом, для шифрования объекта на стороне сервера в S3. Если вы предоставляете это значение, также необходимо указать --sse-c. Предоставленный ключ не должен быть кодирован в base64.
--sse-kms-key-id (строка) Идентификатор управляемого клиентом ключа управления ключами AWS (KMS), который должен использоваться для шифрования объекта на стороне сервера в S3. Вы должны указывать этот параметр только в том случае, если вы используете управляемый клиентом мастер-ключ (CMK), а не управляемый AWS KMS CMK.
--sse-c-copy-source (строка) Этот параметр должен быть указан только при копировании объекта S3, зашифрованного на стороне сервера с предоставленным клиентом ключом. Он указывает алгоритм, используемый при расшифровке исходного объекта. AES256 — единственное допустимое значение. Если параметр указан, но значение не указано, используется AES256. Если вы предоставляете это значение, также необходимо указать --sse-c-copy-source-key.
--sse-c-copy-source-key (байты) Этот параметр должен быть указан только при копировании объекта S3, зашифрованного на стороне сервера с предоставленным клиентом ключом. Указывает ключ шифрования, предоставленный клиентом, для Amazon S3, чтобы использовать его для расшифровки исходного объекта. Предоставленный ключ шифрования должен быть тем, который использовался при создании исходного объекта. Если вы предоставляете это значение, необходимо указать --sse-c-copy-source. Предоставленный ключ не должен быть кодирован в base64.
--storage-class (строка) Тип хранилища, который нужно использовать для объекта. Допустимые варианты: STANDARD | REDUCED_REDUNDANCY | STANDARD_IA | ONEZONE_IA | INTELLIGENT_TIERING | GLACIER | DEEP_ARCHIVE | GLACIER_IR. По умолчанию «STANDARD»
--grants (строка)
Предоставляет определенные разрешения отдельным пользователям или группам. Вы можете указать список разрешений в формате
--grants Permission=Grantee_Type=Grantee_ID [Permission=Grantee_Type=Grantee_ID ...]
Чтобы указать один и тот же тип разрешения для нескольких получателей, укажите разрешение таким образом:
--grants Permission=Grantee_Type=Grantee_ID,Grantee_Type=Grantee_ID,...
Каждое значение содержит следующие элементы:
-
Permission- Указывает предоставленные разрешения и может быть установлено на чтение, чтение acl, запись acl или полные. -
Grantee_Type- Указывает, как идентифицировать получателя, и может быть установлено на uri или id. -
Grantee_ID- Указывает получателя на основе Grantee_Type. ЗначениеGrantee_IDможет быть одним из следующих:- uri - URI группы. Для получения дополнительной информации см. Кто такой получатель?
- id - Канонический идентификатор учетной записи
Дополнительную информацию об управлении доступом к Amazon S3 см. в разделе Управление доступом
--website-redirect (строка) Если ведро настроено как веб-сайт, перенаправляет запросы к этому объекту на другой объект в том же ведре или на внешний URL-адрес. Amazon S3 сохраняет значение этого заголовка в метаданных объекта.
--content-type (строка) Указывает явный тип содержимого для данной операции. Это значение переопределяет любые угаданные типы MIME.
--cache-control (строка) Указывает поведение кэширования по цепочке запрос/ответ.
--content-disposition (строка) Указывает презентационную информацию для объекта.
--content-encoding (строка) Указывает, какие кодировки содержимого были применены к объекту, и, следовательно, какие механизмы декодирования необходимо применить для получения типа носителя, на который ссылается заголовок Content-Type.
--content-language (строка) Язык содержимого.
--expires (строка) Дата и время, после которых объект больше не может быть кэширован.
--source-region (строка) При передаче объектов из ведра s3 в ведро s3 это указывает регион исходного ведра. Обратите внимание, что регион, указанный в --region или через конфигурацию CLI, относится к региону целевого ведра. Если --source-region не указан, регион источника будет таким же, как и регион целевого ведра.
--only-show-errors (логическое значение) Отображаются только ошибки и предупреждения. Весь другой вывод подавляется.
--no-progress (логическое значение) Прогресс передачи файлов не отображается. Этот флаг применяется только тогда, когда не заданы флаги quiet и only-show-errors.
--page-size (целое число) Количество результатов, возвращаемых в каждом ответе на операцию списка. Значение по умолчанию составляет 1000 (максимальное разрешенное значение). Использование меньшего значения может помочь, если операция зависает.
--ignore-glacier-warnings (логическое значение) Отключает предупреждения glacier. Предупреждения об операции, которая не может быть выполнена, потому что она включает копирование, загрузку или перемещение объекта glacier, больше не будут выводиться в стандартный поток ошибок и больше не будут влиять на код возврата команды 2.
--force-glacier-transfer (логическое значение) Принудительно запрашивает передачу всех объектов Glacier в синхронизации или рекурсивной копии.
--request-payer (строка) Подтверждает, что запрашивающий знает, что ему придется заплатить за запрос. Владельцам ведер не нужно указывать этот параметр в своих запросах. Документация по загрузке объектов из ведер, оплачиваемых запрашивающим, находится по адресу http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
--checksum-mode (строка) Для получения контрольной суммы необходимо включить этот режим. Если объект имеет контрольную сумму, она будет проверена.
--checksum-algorithm (строка) Указывает алгоритм, используемый для создания контрольной суммы объекта.
--metadata (словарь) Словарь метаданных для хранения с объектами в S3. Это будет применено к каждому объекту, который является частью этого запроса. При синхронизации это означает, что файлы, которые не изменились, не получат новые метаданные. ключ -> (строка)
Краткая синтаксическая запись:
KeyName1=string,KeyName2=string
Синтаксис JSON:
{"string": "string"
...}
--copy-props (строка) Определяет, какие свойства копируются из исходного объекта S3. Этот параметр применяется только для копирования S3 в S3. Допустимые значения:
-
none- Не копировать ни одно из свойств исходного объекта S3. -
metadata-directive- Копирует следующие свойства из исходного объекта S3:content-type,content-language,content-encoding,content-disposition,cache-control,--expiresиmetadata -
default- Значение по умолчанию. Копирует теги и свойства, охваченные значениемmetadata-directiveиз исходного объекта S3.
Для копирования соответствующих свойств при многочастных копиях некоторые параметры могут потребовать дополнительных вызовов API, если задействована многочастная копия. В частности:
-
metadata-directiveможет потребовать дополнительных вызовов APIHeadObject. -
defaultможет потребовать дополнительных вызовов APIHeadObject,GetObjectTaggingиPutObjectTagging. Обратите внимание, что этот список вызовов API может увеличиваться в будущем, чтобы обеспечить сохранение точных свойств вызовом APICopyObjectпри многочастных копиях.
Если вы хотите гарантировать, что дополнительных вызовов API, кроме необходимых для выполнения фактической копии, не будет, установите этот параметр на none.
--metadata-directive (строка) Устанавливает заголовок x-amz-metadata-directive для операций CopyObject. Рекомендуется использовать параметр --copy-props для управления копированием свойств метаданных. Если --metadata-directive задано, параметр --copy-props будет отключен и не повлияет на передачу.
--size-only (логическое значение) Делает размер каждого ключа единственным критерием для принятия решения о синхронизации из источника в целевое хранилище.
--exact-timestamps (логическое значение) При синхронизации из S3 на локальное хранилище одинаковые по размеру элементы будут игнорироваться только при точном совпадении временных меток. По умолчанию игнорируются элементы одинакового размера, если локальная версия не новее версии S3.
--delete (логическое значение) Файлы, существующие в целевом хранилище, но отсутствующие в исходном, удаляются во время синхронизации. Обратите внимание, что файлы, исключенные фильтрами, исключаются из удаления.
Глобальные параметры
--debug (boolean)
Включить отладку.
--endpoint-url (string)
Переопределить стандартный URL команды заданным URL.
--no-verify-ssl (boolean)
По умолчанию AWS CLI использует SSL при общении с сервисами AWS. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет стандартное поведение проверки SSL-сертификатов.
--no-paginate (boolean)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один запрос для первой страницы результатов.
--output (string)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
Запрос JMESPath для фильтрации данных ответа.
--profile (string)
Использовать определенный профиль из файла учетных данных.
--region (string)
Регион для использования. Переопределяет настройки из конфигурации/окружения.
--version (string)
Отобразить версию инструмента.
--color (string)
Включить/выключить цветной вывод.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Учетные данные не будут загружены, если этот параметр указан.
--ca-bundle (string)
Файл с корневым сертификатом для проверки SSL-сертификатов. Переопределяет настройки из конфигурации/окружения.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет выполняться без ограничения по времени. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения к сокету в секундах. Если значение равно 0, подключение к сокету будет выполняться без ограничения по времени. Значение по умолчанию — 60 секунд.
--cli-binary-format (string)
Стиль форматирования для двоичных данных. По умолчанию используется формат base64. Формат base64 ожидает, что двоичные данные будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI версии 1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, которое соответствует двоичным данным, fileb:// всегда будет обрабатываться как двоичное и будет использоваться непосредственно содержимое файла независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Отключить вывод с помощью пагинатора.
--cli-auto-prompt (boolean)
Автоматически запросить параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматический запрос параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительная информация содержится в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. Смотрите раздел Использование кавычек со строками в Руководстве пользователя AWS CLI.
Пример 1: Синхронизация всех локальных объектов с указанным ведром
Следующая команда sync синхронизирует объекты из локального каталога со специфицированным префиксом и ведром, загружая локальные файлы в S3. Локальный файл потребует загрузки, если размер локального файла отличается от размера объекта S3, время последнего изменения локального файла новее времени последнего изменения объекта S3 или локальный файл не существует в указанном ведре и префиксе. В этом примере пользователь синхронизирует ведро amzn-s3-demo-bucket с локальным текущим каталогом. Локальный текущий каталог содержит файлы test.txt и test2.txt. Ведро amzn-s3-demo-bucket не содержит объектов.
aws s3 sync . s3://amzn-s3-demo-bucket
Вывод:
upload: test.txt to s3://amzn-s3-demo-bucket/test.txt
upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt
Пример 2: Синхронизация всех объектов S3 из указанного ведра S3 в другое ведро
Следующая команда sync синхронизирует объекты в указанном префиксе и ведре с объектами в другом указанном префиксе и ведре, копируя объекты S3. Объект S3 потребует копирования, если размеры двух объектов S3 отличаются, время последнего изменения источника новее времени последнего изменения назначения или объект S3 не существует в указанном ведре и префиксе назначения.
В этом примере пользователь синхронизирует ведро amzn-s3-demo-bucket с ведром amzn-s3-demo-bucket2. Ведро amzn-s3-demo-bucket содержит объекты test.txt и test2.txt. Ведро amzn-s3-demo-bucket2 не содержит объектов:
aws s3 sync s3://amzn-s3-demo-bucket s3://amzn-s3-demo-bucket2
Вывод:
copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt
copy: s3://amzn-s3-demo-bucket/test2.txt to s3://amzn-s3-demo-bucket2/test2.txt
Пример 3: Синхронизация всех объектов S3 из указанного ведра S3 в локальный каталог
Следующая команда sync синхронизирует файлы из указанного ведра S3 в локальный каталог, загружая объекты S3. Объект S3 потребует загрузки, если размер объекта S3 отличается от размера локального файла, время последнего изменения объекта S3 новее времени последнего изменения локального файла или объект S3 не существует в локальном каталоге. Обратите внимание, что при загрузке объектов из S3 время последнего изменения локального файла изменяется на время последнего изменения объекта S3. В этом примере пользователь синхронизирует ведро amzn-s3-demo-bucket с текущим локальным каталогом. Ведро amzn-s3-demo-bucket содержит объекты test.txt и test2.txt. В текущем локальном каталоге нет файлов:
aws s3 sync s3://amzn-s3-demo-bucket .
Вывод:
download: s3://amzn-s3-demo-bucket/test.txt to test.txt
download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt
Пример 4: Синхронизация всех локальных объектов с указанным ведром и удаление всех файлов, которые не совпадают
Следующая команда sync синхронизирует объекты в указанном префиксе и ведре с файлами в локальном каталоге, загружая локальные файлы в S3. Из-за параметра --delete любые файлы, существующие в указанном префиксе и ведре, но отсутствующие в локальном каталоге, будут удалены. В этом примере пользователь синхронизирует ведро amzn-s3-demo-bucket с локальным текущим каталогом. Локальный текущий каталог содержит файлы test.txt и test2.txt. Ведро amzn-s3-demo-bucket содержит объект test3.txt:
aws s3 sync . s3://amzn-s3-demo-bucket \
--delete
Вывод:
upload: test.txt to s3://amzn-s3-demo-bucket/test.txt
upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt
delete: s3://amzn-s3-demo-bucket/test3.txt
Пример 5: Синхронизация всех локальных объектов с указанным ведром за исключением файлов «.jpg»
Следующая команда sync синхронизирует объекты в указанном префиксе и ведре с файлами в локальном каталоге, загружая локальные файлы в S3. Из-за параметра --exclude все файлы, совпадающие с шаблоном, существующие как в S3, так и локально, будут исключены из синхронизации. В этом примере пользователь синхронизирует ведро amzn-s3-demo-bucket с локальным текущим каталогом. Локальный текущий каталог содержит файлы test.jpg и test2.txt. Ведро amzn-s3-demo-bucket содержит объект test.jpg с другим размером, чем локальный test.jpg:
aws s3 sync . s3://amzn-s3-demo-bucket \
--exclude "*.jpg"
Вывод:
upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt
Пример 6: Синхронизация всех локальных объектов с указанным ведром за исключением файлов в указанном каталоге
Следующая команда sync синхронизирует файлы из локального каталога с объектами в указанном префиксе и ведре, загружая объекты S3. В этом примере используется параметр флага --exclude для исключения указанного каталога и префикса S3 из команды sync. В этом примере пользователь синхронизирует локальный текущий каталог с ведром amzn-s3-demo-bucket. Локальный текущий каталог содержит файлы test.txt и another/test2.txt. Ведро amzn-s3-demo-bucket содержит объекты another/test5.txt и test1.txt:
aws s3 sync s3://amzn-s3-demo-bucket/ . \
--exclude "*another/*"
Вывод:
download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt
Пример 7: Синхронизация всех объектов между ведрами в разных регионах
Следующая команда sync синхронизирует файлы между двумя ведрами в разных регионах:
aws s3 sync s3://my-us-west-2-bucket s3://my-us-east-1-bucket \
--source-region us-west-2 \
--region us-east-1
Вывод:
download: s3://my-us-west-2-bucket/test1.txt to s3://my-us-east-1-bucket/test1.txt
Пример 8: Синхронизация с точкой доступа S3
Следующая команда sync синхронизирует текущий каталог с точкой доступа (myaccesspoint):
aws s3 sync . s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/
Вывод:
upload: test.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test.txt
upload: test2.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test2.txt
© Copyright 2025, Amazon Web Services. Created using Sphinx.