Исключение папок для синхронизации s3cmd

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

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

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

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

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

2 ответов


вы действительно должны использовать . Если вы хотите синхронизировать каждый файл в корне, но не папки, вы должны попробовать:

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

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


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

s3cmd --exclude 'foldername/*'

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