aws s3 sync /WordProcessing/DOCUMENTS s3://mybigbucket --delete --include "*" --exclude ".DS_Store"
어떻게든 .DS_Store가 (이전 백업에서) AWS S3 mybigbucket으로 이동한 경우 위 명령을 사용하면 수동으로 수행하더라도 대상에서 .DS_Store 파일이 삭제되지 않습니다.
rm /WordProcessing/DOCUMENTS/.DS_Store
파일 서버에서.
aws s3 동기화 작동 방식에 대한 논리가 누락되었습니까? 파일 서버의 소스에서 .DS_Store가 제거된 경우 S3 버킷의 대상에서 .DS_Store를 삭제해야 하는 것 같습니다.
--exclude를 해제하고 명령을 다시 실행하면 파일 서버에서 제거된 .DS_Store가 대상에서 삭제됩니다. 그건 옳지 않은 것 같습니다.
내가 잘못된 접근 방식을 취하고 있습니까? 내가 원하는 것은 파일 서버를 밤마다 동기화하고 수천 개의 .DS_Store 파일을 S3 버킷으로 전송하지 않도록 하는 것입니다.
답변1
첫 번째 동기화 후 매개변수를 변경한 것 같습니다.
를 사용하면 --exclude
지정된 패턴과 일치하는 명령에서 모든 파일이나 개체가 제외됩니다. 일치하면 해당 패턴에 대한 모든 작업을 무시합니다.
파일(.DS_Store)이 이미 s3 버킷에 있고 옵션 --exclude
이 일치하는 경우 이를 무시합니다. 데이터 원본에서 변경되었거나 사라졌는지 여부입니다.
넌 할 수있어:
- 첫 번째 및 모든 후속 동기화에서 --exclude를 사용합니다(이렇게 하면 처음에 파일이 s3에서 제외됩니다).
- 먼저 로컬 호스트에서 파일을 삭제하고 동기화한 다음 제외 항목을 넣습니다(이렇게 하면 파일이 s3에 있는 경우 파일이 제거되고 추가되지 않습니다).
- --exclude를 입력하고 s3에서 파일을 수동으로 삭제합니다(이렇게 하면 파일이 s3에 다시 추가되는 것을 방지할 수 있습니다).
참조