aws / aws/aws-cli

--dryrun to include download estimate as well as check for free space at destination

Open
#6,863 3 comments 0 reactions 0 assignees View on GitHub
feature-request p3 s3sync
Dominant language
Python
Stars
17.3k
Forks
4.6k
Avg merge
1d 2h
Merged PRs (30d)
13

Description

### Describe the feature

using the --dryrun flag it would be great to get an idea of how much will be downloaded and if there would be enough space at the destination for the files being downloaded.

For example:
```
aws s3 sync s3://test-bucket . --dryrun --human
(dryrun) download: s3://test-bucket/file1 to ./file1 (500 MiB)
(dryrun) download: s3://test-bucket/file1 to ./file1 (1 TiB)
Total: 1.5 TiB
Destination Free: 1 TiB
WARNING: Destination does not contain about space for all files.
```

### Use Case

I'm often moving large (multi 100 GB) files in large (multi TB batches) and while I often have a handle on how much space in remaining on my destination drive or share There had been times when I did not realize that a sync might be larger than the remaining space.

Having some indication of the amount of data being transferred while doing a `--dryrun` would make this clear.

### Proposed Solution

ether adding the functionality to `--dryrun` or if worried about additional API calls adding a `--dryrun-with-size` (not an inspired flag name). This would display the size in bytes, adding the `--human` flag would change it the a valid size as `ls` currently does.

### Other Information

Some issues or edge cases.

- The system would need to know about underlying file shares (NFS, SMB)
- Would cause additional API calls
- What happens when there is not enough space at the destination (just warn?)
- Changing --dryrun might cause other applications to break?

### Acknowledgements

- [ ] I may be able to implement this feature request
- [X] This feature might incur a breaking change

### CLI version used

2.4.15

### Environment details (OS name and version, etc.)

AWS Linux, OSx, Windows

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.