2014-02-19 3 views
6

Я использую s3cmd, и я хотел бы знать, как исключить все папки в ведро и просто синхронизировать корень ведра.Исключить папки для s3cmd sync

, например

bucket 
folder/two/ 
folder/two/file.jpg 
get.jpg 

с синхронизацией я просто хочу, чтобы синхронизировать get.jpg и игнорировать папку и ее содержимое.

s3cmd --config sync s3://s3bucket (only sync root) local/ 

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

ответ

7

Вы действительно должны использовать опцию --exclude. Если вы хотите синхронизировать все файлы в корневом каталоге, но не папки, вы должны попробовать:

s3cmd --exclude="/*/*" sync local/ s3://s3bucket 

Имейте в виду, что папка не существует на самом деле на S3. Кажется, что файл file в папке folder - это всего лишь файл с именем folder/file! Поэтому вам просто нужно исключить файл с шаблоном /*/*.

+0

Привет, sylvian Спасибо, что это работает для меня;) s3cmd --exclude = "/ *" sync s3: // s3bucket local/ – user1503606

+1

Я хочу указать, что для исключения конкретной папки мне пришлось использовать '--exclude = "folder/*" 'вместо' --exclude = "/ folder/*" '. – physiocoder

2

Как упомянуто @physiocoder за исключением папки выполняется следующим образом:

s3cmd --exclude 'foldername/*'

Так что отличается от вопроса, но я приземлился на этой странице, в связи с ее названием.

Смежные вопросы