Output AWS CLI "sync" results to a txt file

14,767

I haven't tested this myself, but I found some resources that indicate you can redirect output from command-line driven applications in Windows command prompt just like you would in linux.

aws s3 sync C:\somefolder\Data\Dist\ s3://my.bucket/somefolder/Dist/ --delete > output.txt 

The resources I found are:

https://stackoverflow.com/a/16713357/4471711

https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true

Once the initial upload is done, I'm assuming that all new syncs will just upload new and modified files and folders. Using the --delete will remove anything in the bucket that no longer exists on the local server.

That is correct, sync will upload either new or modified files as compared to the destination (whether it is an S3 bucket or your local machine).

--delete will remove anything in the destination (not necessarily an S3 bucket) that is not in the source. It should be used carefully so as to avoid a situation where you've downloaded, modified and sync one file and because your local machine doesn't have ALL of the files, use of the --delete flag will then delete all other files at destination.

Share:
14,767
Reece
Author by

Reece

ICT Consultant

Updated on June 27, 2022

Comments

  • Reece
    Reece almost 2 years

    I'm new to AWS and specifically to the AWS CLI tool, but so far I seem to be going OK.

    I'm using the following commands to connect to AWS S3 and synchronise a local directory to my S3 bucket:

    set AWS_ACCESS_KEY_ID=AKIAIMYACCESSKEY
    set AWS_SECRET_ACCESS_KEY=NLnfMySecretAccessCode
    set AWS_DEFAULT_REGION=ap-southeast-2
    aws s3 sync C:\somefolder\Data\Dist\ s3://my.bucket/somefolder/Dist/ --delete
    

    This is uploading files OK and displaying the progress and result for each file. Once the initial upload is done, I'm assuming that all new syncs will just upload new and modified files and folders. Using the --delete will remove anything in the bucket that no longer exists on the local server.

    I'd like to be able to output the results of each upload (or download in the case of other servers which will be getting a copy of what is being uploaded) to a .txt file on the local computer so that I can use blat.exe to email the contents to someone who will be monitoring the sync.

    All of this will be put into a batch file that will be scheduled to run nightly.

    Can the output to .txt be done? If so, how?